Loading...
_[LMNTRIX]_ (20.02.2017 в 19:25)
shadrvlad , ну незнаю... Либо я сейчас туплю либо как его проверить потом? if ($_SESSION['token'] != $token) { действия при ошибке }. Это же бред как бы...

я ссылку отправил, там все написано про это
Saw (20.02.2017 в 19:24)
_[LMNTRIX]_ (20.02.2017 в 19:19)
Saw , это типа временной токен который при обновлении генерится. А можно сделать то же только с вариантом как в посте выше?

можно

$_SESSION['token'] = md5(rand(1,100));
if ($_POST['token'] != $_SESSION['token']) die('Досвидули');


это же при каждой форме генерить надо? И я не могу понять как это может от csrf защитить...
_[LMNTRIX]_ , если его в полученных данных нет, значит запрос пришел не со странички, сгенеренной твоими скриптами, а от, в лучшем случае, бота. В худшем - злоумышленника
Saw ,
к примеру:
function checkToken ($token)
{
global $user;
if ($token != $user['token'])
{
$_SESSION['notif'] = 'Возникла ошибка во время запроса!';
header("Location:".HOME."/game/");
exit();
}
}
if (!empty($_POST['send']))
{
checkToken($user['token']);
}
'<form action="#" method="POST">';
echo '<input type="hidden" value="' . $user['token'] . '">';
echo '<b>Новый пароль:</b>[6 - 20]<br /><input type="text" name="passwordNew" placeholder="Введите пароль..." /><br />';
echo '<b>Повторите пароль:</b>[6 - 20]<br /><input type="text" name="passwordRe" placeholder="Введите пароль..." /><br />';
echo '<input type="submit" name="send" value="Изменить" /><br /></form>';
бред же?
_[LMNTRIX]_ , можно и так. на работоспособность не проверял.
но если кажды раз генеришь новый токен, при этом дёргая бд то норм.
Saw , так бред же??? Получается я сравниваю $user['token'] с $user['token'] или при csrf это поле пустое будет? echo '<input type="hidden" value="' . $user['token'] . '">'
_[LMNTRIX]_ (20.02.2017 в 19:53)
Saw , так бред же??? Получается я сравниваю $user['token'] с $user['token'] или при csrf это поле пустое будет? echo '<input type="hidden" value="' . $user['token'] . '">';

echo '<input type="hidden" name="token" value="' . $user['token'] . '">';
$user['token'] будет использовано непосредственно скриптом.
Злоумышленники могут отправить в $_POST['token'] все что угодно, но ты сверяешь с данными из бд и поэтому они в лаже.
Saw , как проверить на работоспособность?
_[LMNTRIX]_ (20.02.2017 в 20:03)
Saw , как проверить на работоспособность?

найми хакера *heh*
ну а как ты проверить хочешь?
Saw , хз. Думал ты знаешь... Ладно спасибо
Онлайн: 12
Время:
Gen. 0.1522
(c) Bym.Guru 2010-2026