Изменение данных POST? - PullRequest
1 голос
/ 21 мая 2011

В последнее время я читал о PHP, и по очевидным причинам проверка пользователей является обычной темой.Я на самом деле не на хакерской сцене и не делаю что-то вредоносное, но из любопытства я не понимаю, как злоумышленник сможет изменить информацию POST.Чтобы уточнить, вот выдержка из книги, которую я читаю:

Если пользователь может ввести свою форму, свободную от состояния, то вы подвергли себя получению состояний, подобных

* 1005.*
New Yrok (опечатка) Lalala (намеренно скрыто)

Обычная тактика, используемая для решения этой проблемы, состоит в использовании выпадающих опций, чтобы предоставить пользователям выбор состояния,Это решает только половину проблемы: вы не допустили, чтобы люди случайно входили в неправильное состояние, , но это не обеспечивает защиты от того, что кто-то злонамеренно изменял свои данные POST, передавая несуществующий параметр. - "Расширенное программирование PHP Джорджа Шлосснагла"

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

Спасибо

1 Ответ

3 голосов
/ 21 мая 2011

Вы не можете предполагать, что processstheform.php будет получать только опубликованные данные из yourform.html.Если они создают свою собственную html-форму в своей системе (или где-либо еще), они могут использовать ее для публикации в вашем коде processstheform.php.

Если для процесса processstheform.php необходимо указать имя пользователя (адрес электронной почты), которое было скрытов форме и использовал ее для отправки этому человеку электронного письма, тогда хакер мог бы потенциально изменить эту информацию и заставить вашу программу рассылать спам.

В принципе, вы не можете зависеть от сценария переднего плана в yourform.html, чтобы убедиться, чтоданные чистые и отправлены в порядке.Processstheform.php должен проверять и очищать данные, даже если ваш код переднего плана уже делает это.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...