asp.net mvc 5 должен запускаться на стороне сервера, если клиентская сторона запускается первой

У меня есть класс атрибута проверки, который работает на стороне сервера, который проверяет текстовое поле формы. Я также реализовал это на стороне клиента в вызове javascript. Мой вопрос: если клиентская сторона вызывается и возвращает true, должна ли также вызываться серверная сторона? Должны ли быть вызваны как сторона клиента, так и сторона сервера? Похоже, что если проверка на стороне клиента пройдет, не было бы необходимости снова вызывать какие-либо проверки на стороне сервера. Просто кажется немного излишним проверять что-то дважды.

3 ответа

Проверка на стороне клиента для удобства. Проверка на стороне сервера - это настоящая проверка. В любом случае, вы никогда не должны доверять клиенту, поэтому в любом случае вы должны запустить проверку на стороне сервера.

Да, это абсолютно необходимо.

Причина в том, что, если кто-то обойдет ваш сайт и сделает звонки прямо на ваш сервер? Что если они попытаются ввести неверные данные, чтобы взломать ваш сайт? Без проверки на сервере вы тоже не будете защищены.

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

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

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

Другие вопросы по тегам