Подтвержденный пароль отправляется в бэкэнд WebApi - PullRequest
0 голосов
/ 02 июня 2018

Простой вопрос.Должен ли я отправлять «ConfirmedPassword» в дополнение к «паролю» на серверную часть WebApi?

Я использую ASP.Net Core 2.1preview2, и Web Api используется клиентами Xamarin.Forms.Я чувствую, что могу просто подтвердить, что клиентская сторона "Password" == "ConfirmedPassword" в пользовательском интерфейсе.

Кто-нибудь знает, есть ли в этом какие-либо недостатки, которые я не рассматриваю?

1 Ответ

0 голосов
/ 02 июня 2018

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

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

Я посмотрел на AccountController по умолчанию, который генерируется для вас с помощью шаблона VS по умолчанию.Он имеет конечную точку Register, которая принимает RegisterViewModel, который имеет ОБА Пароль и поле ConfirmPassword.Пароли сравниваются и выдается ошибка, если они не совпадают.

Наконец, почти невозможно выиграть, если не пройти оба поля.Какая экономия?Одно поле, содержащее несколько символов и сравнение строк.

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

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