PHP CSRF Form token + совет по валидации - PullRequest
5 голосов
/ 30 июня 2011

У меня есть форма отправки с 9 полями, 6 из которых требуют проверки, в том числе поле загрузки с размером файла и проверкой типа файла.

Создание случайного токена для предотвращения работы CSRF,но какой правильный способ проверки при использовании токена?

Если я выполняю проверку в том же файле, токен повторно генерируется с перезагрузкой проверки.(Можно ли это предотвратить? Я попытался isset(), но все еще восстанавливает.) Однако использование того же файла предотвращает сохранение имени пользователя и адреса электронной почты в сеансе.

Лучше ли проводить проверку в течениеотдельный файл, который затем перенаправляет обратно в форму с базовыми переменными в URL для каждой ошибки, т.е. http://www.example.com/form?n=1

Использование отдельного файла также будет означать хранение данных формы в сеансе, поэтому форма может бытьПовторно заполняется, если существуют ошибки при перенаправлении.

Любая помощь с благодарностью получена.

Ответы [ 3 ]

7 голосов
/ 30 июня 2011

Я нашел эту статью Криса очень хорошей для объяснения, что такое CSRF и как защитить себя от него.

2 голосов
/ 27 января 2012
1 голос
/ 30 июня 2011

По опыту CodeIgntier отлично справляется с реализацией CSRF , в том числе с другими мерами безопасности.Я бы посоветовал вам пройтись по их коду, чтобы лучше понять весь процесс.Также см. это .

...