Здравствуйте, пользователи. На днях задумался об одной штуке. Давайте представим, что на странице имеется form, в котором есть select option. По нажатию на submit данные из формы передаются в обработчик. Например, control.php.
Так в чём вопрос. А что если человек кодом элемента изменит значения option, которые по своей природе не должны меняться? В таком случае в обработчик придут изменённые данные? И как с этим бороться?
Зачем кодом менять значения option, можно просто посмотреть name и сделать post запрос на action и всё.
Бороться всевозможными проверками. К примеру если это поле которое используется в запросе к бд, то использование всякие strip_tags, addslashes и прочее... Ну это если вы пишите чисто на php, в фреймворках обычно уже существуют кучи всяких методов защиты csrf, экранирование данных, проверка атрибутов и ограничение методов запросов на соответствующие страницы...
Я тебя, возможно, удивлю, но можно вообще посмотреть урл, на который у тебя форма сабмитится и, если у тебя нет CSRF-защиты, засабмитить любым REST-клиентом тебе все, что угодно. Мораль: всегда проверяй то, что тебе приходит на сервер.