Используете ли вы методы проверки на стороне клиента и на стороне сервера?

10

Используете ли вы как клиентские, так и серверные методы проверки бок о бок при проверке входных данных от пользователя, например, через контактную форму?

Если так, действительно ли это необходимо? Ты закончил разработку?

TeaDrinkingGeek
источник
Это интересно: smashingmagazine.com/2009/07/07/…
TeaDrinkingGeek

Ответы:

27

Да, и ты должен.

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

Вот как работают элементы управления проверкой ASP.NET .

Это, конечно, не чрезмерная инженерия, поскольку использование одного без другого имеет недостатки.

billy.bob
источник
8
+1. Нет оправдания для отсутствия проверки на стороне сервера IMO.
DBlackborough
11
Серверная сторона необходима, клиентская - удобство. В веб-приложениях вы не можете рассчитывать на проверку на стороне клиента.
BillThor
@BillThor - Да, это точно верно
billy.bob
умные пользователи могут определенно злоупотреблять вашим приложением, если у вас нет проверки на стороне клиента
Umair
6

Если так, действительно ли это необходимо?

Да.

Ты закончил разработку?

Нет.

Проверка интерфейса может дать немедленную обратную связь, если это богатый интерфейс.

Back-end может использоваться несколькими интерфейсами. И это единственная проверка для резервного плана только для HTML (без javascript).

С. Лотт
источник
6

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

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

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

Брюс Маклеод
источник
+1, я видел много примеров, когда проверка была сделана полностью на стороне клиента
Карл
2

Проверка на стороне сервера должна быть минимальным.

И для ввода, который может быть неправильным, вы должны также добавить проверку на стороне клиента ..

Например: проверьте, правильно ли отформатировано письмо как на стороне клиента, так и на стороне сервера, но проверка того, является ли оно уникальным, может быть проверкой на стороне сервера.

Карра
источник
1
«Проверка того, что это не так» - это проверка, а не проверка, поэтому это не относится. Понять разницу.
billy.bob
2
Вы даже читали, что вы публикуете? Проверка того, что электронная почта является уникальной, является проверкой. Проверка, скажем, что адрес электронной почты и пароль являются действительными учетными данными, является проверкой. В любом случае, это просто вопрос терминологии.
Андреа
1

Да, это неплохая идея использовать оба. Если простые ошибки ввода пользователя могут быть обнаружены на стороне клиента, то имеет смысл сообщить пользователю об этих ошибках до отправки данных и сбоя в работе сервера. Например, если пользователь ввел что-то, что не похоже на адрес электронной почты, в поле «электронная почта» или ввел строку длиной всего 5 символов в поле пароля, и вы знаете, что ваш сайт требует, чтобы пароль был длиной не менее 6 символов, то Вы должны сообщить об этом пользователю перед отправкой чего-либо на сервер.

Также важно дублировать одну и ту же проверку на сервере по двум причинам: 1) что если пользователь отключил Javascript?

2) Пользователь злонамеренно попытался обойти проверку на стороне клиента, что действительно легко.

Дмитрий
источник