Проверка на стороне клиента является основной проверкой введенных данных и значительно повышает удобство взаимодействия с интерфейсом. Обнаружение ошибочных данных на стороне клиента позволяет пользователю немедленно их исправить, подробнее на сайте https://github.com/fi1a/validation
Если проверка выполняется только на сервере, процесс ввода занимает некоторое время, так как одно и то же действие по отправке данных на сервер приходится повторять, чтобы получить ответ с сообщением о том, что нужно исправить.
Однако проверку на стороне клиента не следует считать достаточной мерой безопасности!Проверку на стороне клиента очень легко обойти, и она может не остановить злоумышленника, поэтому все данные, отправленные из формы, отправляются на сервер Безопасность должна проверяться на стороне также. Мы рекомендуем ознакомиться с разделом безопасности веб-сайта, чтобы лучше понять потенциальные угрозы. Проверка на стороне сервера выходит за рамки этого модуля, но об этом следует помнить.
Что такое проверка формы?
Заходите на популярные сайты с регистрационными формами. Если данные введены в неправильном формате, пользователь немедленно уведомляется о проблеме. Отображается сообщение, подобное следующему:
- «Обязательное поле» (поле не может быть пустым).
- «Пожалуйста, введите свой номер телефона в формате xxx-xxxx» (должен быть введен в определенном формате, чтобы данные считались правильными).
- «Пожалуйста, введите действующий адрес электронной почты» (данные, которые вы ввели, были в неправильном формате).
- «Пароль должен иметь длину от 8 до 30 символов и содержать 1 заглавную букву, 1 символ и 1 цифру» (требования к формату данных очень специфичны).
Это называется проверкой формы. По мере ввода ваш браузер или сервер проверяет данные, чтобы определить, соответствуют ли они требуемому формату.
Проверка, выполняемая в браузере, называется проверкой на стороне клиента, а проверка, выполняемая на сервере, называется проверкой на стороне сервера. В этом разделе основное внимание будет уделено проверке на стороне клиента.
Если формат правильный, приложение отправляет данные на сервер и (обычно) позволяет сохранить их в базе данных. В противном случае появится сообщение с пояснением, что нужно исправить, и вы сможете повторно ввести данные.
Мы хотим максимально упростить заполнение веб-форм. Так зачем же настаивать на проверке данных?
Есть три основные причины:
- Я хочу получить правильные данные в правильном формате. Если данные от пользователя сохранены в неправильном формате, неверны сами по себе или полностью отсутствуют, приложение не будет работать должным образом.
- Я хочу защитить данные пользователя. Принуждение пользователей к вводу надежных паролей упрощает защиту учетных записей.
мы хотим защитить себя. Есть много способов, которыми злоумышленники могут использовать небезопасные формы для повреждения вашего приложения (см. Безопасность веб-сайта).
ВНИМАНИЕ: Никогда не доверяйте данным, отправляемым на сервер программой-клиентом. Даже если форма правильно проверена и запрещает потенциально вредоносный ввод данных на стороне клиента, злоумышленник может изменить сетевые запросы.
Тип проверки на стороне клиента
В Интернете встречаются два типа проверки на стороне клиента:
Встроенная проверка формы использует функции проверки HTML5, которые мы много раз рассматривали в этом модуле. Проверка HTML5 обычно не требует много JavaScript и работает лучше, но она не так настраиваема, как проверка JavaScript.
Проверка JavaScript написана на JavaScript. Полностью настраиваемый, но вы должны запрограммировать (или использовать библиотеку) всю логику.