2015-09-30 2 views
0

Следующая ситуация: У меня есть форма с выпадающими списками, которые я заполняю из базы данных. Также есть поле ввода текста. Форма отправляется через POST. Что мне интересно, действительно ли нужно дезактивировать переменные $ _POST (помимо поля ввода текста, конечно), прежде чем помещать их в запрос sql? В конце концов, это не пользовательский ввод, если он появился в раскрывающемся списке, который я создал. С $ _GET я бы понял рекомендацию, так как можно было бы манипулировать передаваемыми переменными. Но AFAIK, это невозможно с POST.Вводная санитария для выбора полей выбора?

ответ

1

Подделка POST так же просто, как и фальшивка GET. Итак, ДА, необходима санитария.

Вы можете подделать с помощью cURL (http://php.net/manual/en/intro.curl.php), но это даже безумно проще просто редактировать простой HTML-страницу, скопируйте & вставьте код в нем, замените значения выпадающего списка с тем значением, который вы хотите, но сохраняющий адрес в свойстве action тега form, а затем эта форма отправит весь этот мусор на ваш незащищенный скрипт.

0

Да, это возможно, поэтому вам необходимо санировать вход в базу данных.

В большинстве браузеров это будет сложно, но вы можете использовать такие инструменты, как curl, для имитации запросов POST, где у вас есть свободный контроль над содержимым переменных.

Смежные вопросы