Это плохая идея . Проверка JavaScript и JavaScript может быть обойдена несколькими способами.
- Пользователь может указать браузеру не выполнять никакой JavaScript-код на странице. Если форма сама по себе не использует JavaScript, она все равно будет отображаться, и страница действий все еще будет там, но вся ваша проверка пропала.
- DOM может редактироваться пользователем. Инструменты разработчика веб-страниц, такие как Chrome, Firefox и IE, позволяют легко изменять атрибуты формы. Это включает в себя удаление атрибутов, таких как
onsubmit
из формы. Или пользователь может просто удалить функцию JavaScript из ресурсов, используемых веб-страницей полностью. Это позволяет пользователю избежать проверки.
- Пользователь может отправлять данные
POST
или GET
непосредственно на URL-адрес действия, не заходя на вашу страницу. Это отлично подходит для злоумышленников, поскольку они могут внедрить некорректную форму на ваш сервер, даже не заходя в браузер - вместо этого они могут использовать терминал, что гораздо удобнее.
Таким образом, не делайте этого. Позволять пользователю контролировать проверку - это плохо. Пользователи могут отключить клиентскую JavaScript, но они не могут отключить проверку PHP на серверной . Используйте проверку PHP, если вы не хотите подвергаться смущающим атакам на межсайтовый скриптинг и другим уязвимостям.
Если вы ищете библиотеку для проверки форм PHP, вы можете найти их в Интернете. Например, я лично предоставил одну такую библиотеку , которая хорошо справляется с оценкой полей в форме типа POST
или GET
. Я прошу прощения за саморекламу, я должен настаивать на том, чтобы вы выполняли проверку на стороне сервера в целях безопасности.
Это не значит, что проверка на стороне клиента ужасна и никогда не должна использоваться. Но всегда должно быть подтверждено проверкой на стороне сервера. Вы должны рассматривать проверку на стороне клиента как способ информирования пользователя о том, что существует проблема с вводом его формы без перезагрузки, но всегда используйте проверку на стороне сервера, чтобы фактически просмотреть ввод для проблем.