PrestaShop Geliştirme

PrestaShop Modül Geliştirirken 12 Maddelik Güvenlik Kontrol Listesi

PrestaShop Modül Geliştirirken 12 Maddelik Güvenlik Kontrol Listesi

Bir PrestaShop modülünü güvenli yapan tek bir fonksiyon yoktur. Güvenlik; veri girişinden yetkilendirmeye, SQL sorgusundan dosya yüklemeye kadar her katmanda aynı disiplinin uygulanmasıdır.

Yayın öncesi 12 kontrol

  1. Yetki: Back-office controller veya AJAX endpoint'lerinde yalnız “giriş yapılmış” olmasını değil gerekli çalışan yetkisini de kontrol edin.
  2. CSRF/token: Veri değiştiren her admin işlemini token ile koruyun.
  3. SQL: Parametreli sorgu kullanın; tablo/sütun adlarını kullanıcı girdisinden doğrudan üretmeyin.
  4. XSS: Çıktıyı bağlamına göre escape edin. Veritabanından gelmesi veriyi güvenli yapmaz.
  5. HTML alanları: Gerçekten HTML gerekmeyen alanlarda HTML kabul etmeyin.
  6. Upload: Sadece uzantıya bakmayın; MIME, boyut, gerçek dosya içeriği ve hedef klasör çalıştırma izinlerini kontrol edin.
  7. AJAX: Controller endpoint'lerinde kullanıcı rolü, token ve HTTP method kontrolü yapın.
  8. Webhook: Ödeme/entegrasyon webhook'larında imza doğrulaması ve replay koruması uygulayın.
  9. Secrets: API anahtarlarını template, log veya istemci JavaScript'ine basmayın.
  10. Log: Parola, kart, token ve hassas kişisel veriyi loglamayın.
  11. Uninstall/reset: Silme/sıfırlama işlemlerini ayrı ayrı tasarlayın; yanlışlıkla veri kaybına yol açmayın.
  12. Fail-safe: Yetki veya doğrulama belirsizse işlemi reddedin.

Ek test senaryoları

Admin olmayan profil, başka mağaza (multistore), boş parametre, beklenmedik array değeri, çok uzun veri, Unicode, çift submit, sayfa yenileme, timeout ve başarısız API dönüşü gibi “normal olmayan” akışları özellikle test edin.