v2.5.2
Giriş yap

Başka sayfaya girince CSRF bozulması

fuatogur
563 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!');
    }
}
tayfunerbilen
1283 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