v2.5.2
Giriş yap

Tekrar post edildiğinde geçersiz CSRF Token Hatası

fuatogur
947 defa görüntülendi

CSRF Açığı için token oluşturdum ancak oluşturduğum token formu f5'leyerek tekrar post ettiğimde hata veriyor geçersiz diye. Bunu nasıl çözebilirim ? Test etmek için yeniden form göndermek daha kolay olabiliyor.

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (!post('_token') or post('_token') != session('_token')) {
        die('Geçersiz CSRF Token!');
    }
}
$_SESSION['_token'] = bin2hex(random_bytes(20));

Kullandığım csrf doğrulaması bu.

makifgokce
1684 gün önce

token atarken böyle yaparsan sorunun çözülür.

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