Цитата:злоумышленник не сможет узнать secret жертвы
Зависит от того, как вы этот секрет создаете.
К примеру, если у вас что то вроде этого, то атакующий может сгенерировать такой же токен самостоятельно. Потому что ИД пользователя обычно не прячут. Он может присутствовать в URL.
$_SESSION['token'] = md5($user_id);
Если вы используете один и тот же токен на протяжении всей сессии, то его вообще никуда записывать не надо. Потому что ИД сессии по сути и есть то что вам нужно. Соль и хэширование здесь используются, я думаю, по тем же причинам что при хранении паролей (хэшей). Если сессии или хотя бы идентификаторы сессий "утекли" с вашего сервера, то хэширование токенов с солью поможет избежать CSRF.
Простой пример:
Для лучшей надежности вместо md5 можно использовать какую нибудь более сложную криптографическую функцию.(Отредактировано автором: 06 Августа, 2015 - 17:53:29)
|