Что возвращать при сбое проверки на стороне сервера - PullRequest
0 голосов
/ 28 апреля 2018

В настоящее время я использую клиентскую проверку HTML для всех моих форм. Это включает в себя такие вещи, как Количество должно быть положительным целым числом и Цена должна быть ненулевой . Я применил это на стороне клиента, а также делаю это на стороне сервера. Но теперь мне интересно, стоит ли добавлять сообщения об ошибках в каждое поле формы или просто возвращать HTTP 400 Bad Request / HTTP 422 Unprocessable Entity.

Можно ли рассматривать любые данные, которые прошли проверку на стороне клиента, как вредоносные, или существуют ситуации, когда клиент может ввести неверные данные, которые непреднамеренно пройдут проверку на стороне клиента?
(Примечание. Я не использую никакой JavaScript, только атрибуты HTML pattern, min, max во входных тегах.)

Редактировать / TL; DR

Проверка на стороне клиента показывает красивые сообщения об ошибках при сбое. Должна ли проверка на стороне сервера делать то же самое или возвращать общую страницу ошибок HTTP?

1 Ответ

0 голосов
/ 28 апреля 2018

Только если браузер не поддерживает используемый вами атрибут проверки. Согласно caniuse, атрибут pattern в настоящее время поддерживается во всех текущих браузерах для настольных компьютеров, но не во всех мобильных браузерах .

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

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