Меняет ли защита CSRF CodeIgniter значение / имя скрытых входов при восстановлении данных? - PullRequest
1 голос
/ 27 ноября 2011

Краткое введение в защиту CodeRgniter 2 CSRF

Я знаю, что это может показаться глупым, но мне интересно, если эта защита изменяет значение скрытого ввода при попытке восстановитьэто по почте.

Вот быстрый пример, чтобы показать вам, что делает защита.

Если я напишу:

<input type='hidden' name='1_Info".$kid_nb."' value='".$code."'>

Он выведет на страницу:

<input type="hidden" value="0d3a7bb9f93f438dda1f605d2ac2cb7c" name="csrf_test_name">

Защита хорошая.Но я собираюсь восстановить правильные данные, когда я использую метод POST для этого ввода?Кроме того, значение $ code кодируется в CodeIgniter (с использованием их библиотеки).Будет ли это все испортить?

Наконец, могу ли я все же получить этот ввод, учитывая, что его имя было изменено?Я знаю, что это может звучать глупо, поскольку хорошая защита не помешает мне использовать мои данные, но всегда лучше спросить, верно?

Спасибо, как обычно.Я всего лишь студент.

1 Ответ

1 голос
/ 01 декабря 2011

Я думаю, что есть некоторая путаница.Codeigniter НЕ перезаписывает ваши переменные: скрытые или нет.Если вы включите защиту CSRF, фреймворк добавит еще одно скрытое поле и проверит этот токен при отправке.У вас все еще есть переменные в форме, и вы можете обрабатывать их так же, как обычно.

Я не понимаю, как

<input type='hidden' name='1_Info".$kid_nb."' value='".$code."'>

преобразуется в

<input type="hidden" value="0d3a7bb9f93f438dda1f605d2ac2cb7c" name="csrf_test_name">

Последнее будет просто добавлено в ваш список полей формы

...