Güvenlik Ayarları

SSL, şifre güvenliği ve koruma önlemleri

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

  1. Hosting panelinizden ücretsiz Let's Encrypt SSL edinin
  2. veya ücretli SSL sertifikası satın alın
  3. .htaccess ile 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>
Kontrol Listesi
  • config/database.php - Veritabanı şifreleri
  • config/app.php - Uygulama anahtarları
  • config/push.php - VAPID private key
  • config/payment.php - Ödeme API anahtarları

Şifre Güvenliği

Güçlü Şifre Kuralları

Admin şifreniz şu kriterleri karşılamalı:

12+
Minimum karakter
Aa
Büyük/küçük harf
123
Rakam içermeli
@#$
Özel karakter

Ş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.