Başka sayfaya girince CSRF bozulması
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!');
}
}