Loading...
Помощь по скриптам | Защита от csrf
<?php

$rand = md5(rand(999,9999));
$_SESSION['token'] = $rand;
if($_SESSION['token'] == $_POST['rand'])
{
echo 'токен совпадает';
}
else
{
echo 'неверный токен';
die;
}

//Форма отправки токена
echo '<input type="hidden" name="rand" value="'.$_SESSION['token'].'"/>


Подскажите пожалуйста, что не так с кодом? Открываю странцу' где должно быть проверка, открываю новую вкладку, токен' меняется, возвращаюсь на первую вкладку нажимаю на кнопку и скрипт принимает как будто токена совпадают хотя токен был уже другой в сессии.
В куках храни, сессия мало живёт у тебя
баян создай хранение сессий пользователей на стороне скрипта при подключении записывай текущую токен в базу на сервере где скрип лежит подцепляй кукисы или ip пользователя и делай проверку по кукам пользователя и текущей сесии и сравнивай с данными с базы. и когда челик откроет новую вкладку запишется новый токен в базу и в 1й вкладке токен умрёт и отвалиться и будет выдавать ошибку как ты хочешь
________
посл. ред. 09.06.2022 в 12:35; всего 1 раз(а); by Mr[G]Pro
Uran, сессию к странице цепляй, ибо на новой странице с таким же названием у тебя создаётся новый токен
Онлайн: 1
Время:
Gen. 0.0667
(c) ByMAS.RU 2010-2025