Является ли проверка подтверждения пароля и пароля в бэкэнде ненужной?

#javascript #reactjs #express #validation #server

Вопрос:

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

Ответ №1:

Со стороны клиента все в порядке. Риски те же, что и при использовании одного поля ввода пароля.

Ответ №2:

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

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

Комментарии:

1. Или для сайтов, которые вообще не используют JS

2. @AimeAine В вопросе говорится: «достаточно ли хорошо сравнение на стороне клиента», поэтому предполагается, что JS.

3. Да, конечно, я не поправлял вас, просто добавлял информацию для других.

Ответ №3:

Это не в целях безопасности. Поскольку ввод пароля является секретным (вы видите только ********), и пользователь не может проверить свой пароль, вы можете добавить подтверждение пароля, чтобы пользователь мог подтвердить свой пароль, т. е. как пользователь я думал, что написал LOL875PASS, но написал LoL875PASS

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