2015-07-20 3 views
1

Предположим, что мы создаем страницу «забытого пароля», в которой пользователь должен ввести свой идентификатор электронной почты. Что, если идентификатор электронной почты не соответствует какой-либо записи в нашей базе данных? Должны ли мы по-прежнему отвечать 200?Каков идеальный код ответа HTTP для рендеринга, когда ресурс недоступен?

+0

На самом деле, я не понимаю вас, каково ваше требование? если вы хотите ответить 200, то сделайте это еще иначе, мы также можем показать некоторые пользовательские сообщения. это зависит от требований. – pedram

+0

Я ничего им не скажу, если кто-то может угадать адреса электронной почты, и когда он не получит ответ об ошибке, у него есть одна часть ключа из двух частей, другая - пароль – 3dd

ответ

-1

Да, это будет по-прежнему Ответные 200 OK.

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

В случае API может возникнуть другая ситуация. в этом случае будет хороший ответ возврата 401 Несанкционированный с сообщением «Incorect credentials» для лучшего улова в клиентском приложении.

0

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

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

Это («сброс пароля» или «проверка наличия имени пользователя») не является сценарием 401. 200 кажется хорошим.

Смежные вопросы