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

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

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

10 голосов | спросил TeaDrinkingGeek 1 MarpmTue, 01 Mar 2011 14:04:41 +03002011-03-01T14:04:41+03:0002 2011, 14:04:41

5 ответов


26

Да, и вы должны.

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

Вот как работают контрольные элементы ASP.NET .

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

ответил billy.bob 1 MarpmTue, 01 Mar 2011 14:07:08 +03002011-03-01T14:07:08+03:0002 2011, 14:07:08
6

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

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

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

ответил Bruce McLeod 1 MarpmTue, 01 Mar 2011 15:12:38 +03002011-03-01T15:12:38+03:0003 2011, 15:12:38
5
  

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

Да.

  

Вы над инженерией?

Нет.

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

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

ответил S.Lott 1 MarpmTue, 01 Mar 2011 14:23:41 +03002011-03-01T14:23:41+03:0002 2011, 14:23:41
2

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

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

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

ответил Carra 1 MarpmTue, 01 Mar 2011 14:23:22 +03002011-03-01T14:23:22+03:0002 2011, 14:23:22
1

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

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

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

ответил Dmitri 1 MarpmTue, 01 Mar 2011 18:07:26 +03002011-03-01T18:07:26+03:0006 2011, 18:07:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132