Genel Bakış
MarkaClick, güvenliği ön planda tutan bir yapıya sahiptir. Bu rehber, sisteminizi güvende tutmak için yapmanız gereken temel ayarları açıklar.
Güvenlik Kritik Öncelik
E-ticaret sitelerinde güvenlik ihlalleri ciddi maddi ve itibar kayıplarına neden olabilir. Bu rehberdeki tüm adımları uygulayın.
SSL/HTTPS Zorunluluğu
Tüm sayfalarda HTTPS kullanımı zorunludur. SSL sertifikası olmadan:
- ❌ Ödeme sayfaları çalışmaz
- ❌ Push bildirimleri çalışmaz
- ❌ Tarayıcılar "Güvenli Değil" uyarısı gösterir
- ❌ SEO sıralamanız düşer
SSL Kurulumu
- Hosting panelinizden ücretsiz Let's Encrypt SSL edinin
- veya ücretli SSL sertifikası satın alın
.htaccessile HTTP → HTTPS yönlendirmesi yapın
# .htaccess - HTTPS yönlendirmesi
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Config Dosyası Güvenliği
config/ klasörü hassas bilgiler içerir ve web erişimine kapatılmalıdır:
# config/.htaccess
<Files "*">
Order Deny,Allow
Deny from all
</Files>
config/database.php- Veritabanı şifrelericonfig/app.php- Uygulama anahtarlarıconfig/push.php- VAPID private keyconfig/payment.php- Ödeme API anahtarları
Şifre Güvenliği
Güçlü Şifre Kuralları
Admin şifreniz şu kriterleri karşılamalı:
Şifre Saklama
MarkaClick şifreleri bcrypt algoritması ile hashleyerek saklar. Düz metin şifreler asla veritabanında tutulmaz.
Dosya İzinleri
Linux sunucularda doğru dosya izinleri güvenlik için kritiktir:
| Dosya/Klasör | İzin | Açıklama |
|---|---|---|
config/ |
750 |
Sadece okuma |
uploads/ |
755 |
Yazma izni gerekli |
cache/ |
755 |
Yazma izni gerekli |
logs/ |
755 |
Yazma izni gerekli |
*.php |
644 |
Çalıştırma yok |
# İzinleri ayarlama
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 750 config/
SQL Injection Koruması
MarkaClick, PDO prepared statements kullanarak SQL injection saldırılarına karşı koruma sağlar:
// ✅ Güvenli - Prepared Statement
$db->query("SELECT * FROM users WHERE id = :id");
$db->bind(':id', $user_id);
// ❌ Güvensiz - Doğrudan değişken
$db->query("SELECT * FROM users WHERE id = $user_id");
XSS Koruması
Cross-Site Scripting saldırılarına karşı tüm kullanıcı girdileri temizlenir:
// Çıktılarda her zaman escape kullanın
<?= htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8') ?>
// Veya kısa fonksiyon
<?= esc($user_input) ?>
CSRF Koruması
Form gönderimleri CSRF token ile korunur:
<form method="POST">
<input type="hidden" name="csrf_token" value="<?= csrf_token() ?>">
<!-- Form alanları -->
</form>
Rate Limiting
Brute force saldırılarına karşı giriş denemeleri sınırlandırılır:
- 5 başarısız deneme → 5 dakika bekleme
- 10 başarısız deneme → 30 dakika bekleme
- 20 başarısız deneme → IP geçici engelleme
Yedekleme
Düzenli yedekleme güvenliğin önemli bir parçasıdır:
Yedekleme Planı
- Günlük: Veritabanı yedeği
- Haftalık: Tam dosya yedeği
- Aylık: Offsite yedek (farklı sunucu)
Admin Panel > Araçlar > Yedekleme bölümünden otomatik yedekleme ayarlayabilirsiniz.
Güvenlik Kontrol Listesi
Production Öncesi Kontrol
Güvenlik Sorunları Bildirme
Bir güvenlik açığı keşfettiyseniz, lütfen bize gizli olarak bildirin:
📧 security@markaclick.com
Sorumlu ifşa politikamız gereği, güvenlik araştırmacılarına teşekkür ederiz.