v2.5.2
Giriş yap

Başka sayfaya girince CSRF bozulması

fuatogur
572 defa görüntülendi

Sitemde session ile token tutup csrf doğrulaması yapıyorum ancak kullanıcı sayfa açıkken farklı bir sayfaya girerse yeni girdiği sayfa sessionu değiştirdiği için önceki sayfada işlem yapamıyor. CSRF doğrulamasını aşağıdaki şekilde yapıyorum

init.php dosyamda

if (!isset($_POST['_token'])) {
    $_SESSION['_token'] = bin2hex(random_bytes(20));
}

bu şekilde session tanımlıyorum ve doğrulama yapacağım sayfalarda ise bu kodu kullanıyorum.

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (!post('_token') or post('_token') != session('_token')) {
        die('Geçersiz CSRF Token!');
    }
}
Cevap yaz
Cevaplar (2)
tayfunerbilen
1321 gün önce

token'ı rastgele oluşturmak yerine kullanıcının session_id'sini md5 ya da hashleyip oluşturursan oturum süresi boyunca aynı tokenı kullanmış olursun, yine csrf önleminide almış olursun

fuatogur
1321 gün önce

teşekkür ederim tayfun hocam sorunum çözüldü