Как защитить форму отправки от - PullRequest
1 голос
/ 09 марта 2012

В Google Chrome есть что-то, называемое Inspect element, вы получаете доступ к нему, нажимая f12 или нажимая правой кнопкой мыши Inspect element.

Итак, у меня есть значение от

<form>
<textarea name="title" id="title" maxlength="120"/></textarea>
</form>

Так что теперь, если использовать Inpectэлемент и редактировать страницу и изменить максимальное значение до 500, я могу отправить данные больше 120. Так как я могу убедиться, что данные равны 120, даже если пользователь редактирует страницу с помощью элемента Inpect

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

Ответы [ 4 ]

4 голосов
/ 09 марта 2012

Вы всегда должны проверять отправленные данные на стороне сервера. Ничего не доверяйте пользователю.

[Вне темы] Также будьте осторожны, чтобы не допустить инъекций (клиентские скрипты, SQL, все, что сервер или браузер другого пользователя мог случайно выполнить)

1 голос
/ 09 марта 2012

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

Проверьте это на стороне сервера конечно.

if (strlen($_POST['data']) > 120) // some error

не имеет большого значения

Обратите внимание на местоимение, которое вы использовали.
«Вы» (при условии «мы») могут использоваться только для серверной части, над которой у вас есть контроль.
В то время как клиентская сторона - это «они» - это чей-то компьютер, которым вы не обладаете ни малейшим контролем.

0 голосов
/ 09 марта 2012

Функция «Проверка элемента» в Google Chrome - отличный инструмент, но, как вы говорите, он может манипулировать страницами, и ранее на Apple и Microsoft это упоминалось как «незаконный хакер». Нет способа остановить это. Попробуйте использовать встроенную проверку.

0 голосов
/ 09 марта 2012

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

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

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