Üst

PHP CSRF Koruma Sistemi (Token Mantığı + Güvenli Formlar)

  • Konuyu Başlatan Konuyu Başlatan GNG 
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 7

GNG 

Kurucu
Merhaba arkadaşlar,
Bu konuda PHP ile CSRF (Cross Site Request Forgery) saldırılarına karşı nasıl korunulur onu anlatıyorum. Özellikle form işlemlerinde kritik bir güvenlik katmanıdır.




1. CSRF Nedir?

[]Kullanıcının bilgisi olmadan işlem yaptırma saldırısıdır
[]Yetkili bir kullanıcının oturumu kullanılır
[]Arka planda istek gönderilir




2. Token Mantığı

[]Her form için özel token oluşturulur
[]Bu token form ile birlikte gönderilir
[]Sunucu tarafında doğrulanır
[]Eşleşmezse işlem iptal edilir




3. Token Oluşturma

PHP:
<?php
session_start();

if (empty($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32));
}
?>




4. Forma Token Eklemek

HTML:
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">




5. Token Kontrol

PHP:
<?php
session_start();

if ($_POST['token'] !== $_SESSION['token']) {
    die("Geçersiz istek!");
}
?>




6. Ek Güvenlik Önerileri


  1. []Token süresi belirle
    []Her işlemde token yenile
    []POST zorunluluğu koy
  2. Referer kontrolü ekle




Sonuç
CSRF koruması özellikle form ve işlem yapan sistemlerde zorunludur.
Basit bir token sistemi ile büyük güvenlik açığını kapatabilirsiniz.
 
Geri