2015-07-20 36 views
1

假設我們正在構建一個'忘記密碼'頁面,用戶需要輸入其電子郵件ID。如果電子郵件ID不符合我們數據庫中的任何記錄怎麼辦?我們是否仍然以200迴應?在資源不可用時渲染的理想http響應代碼是什麼?

+0

實際上我並沒有完全讓你滿意,你的要求是什麼?如果你想用200做出迴應,那麼就這樣做,我們也可以顯示一些自定義信息。這取決於那些要求。 – pedram

+0

我不會告訴他們任何事情,如果你有人可以猜測電子郵件地址,並且當他沒有得到錯誤響應時,他有兩部分密鑰的一部分,另一部分是密碼 – 3dd

回答

-1

是的,它仍然會迴應200 OK

出於安全原因最好不要做信息電子郵件不存在於數據庫中。最好只返回信息不正確的憑據。如果電子郵件帳戶存在或不存在,攻擊者就沒有信息。

在API的情況下會出現不同的情況。在這種情況下將是良好的回報響應401未授權與消息「Incorect憑證」更好地捕捉客戶端應用程序。

0

因此,在探討了更多關於此之後,我覺得我仍然應該以200響應,因爲請求和請求參數沒有任何問題。它仍然是一個有效的請求。

也可能值得注意的是,當用戶試圖訪問不屬於它的資源時,用401響應是完全有意義的。

此('密碼重置'或'檢查用戶名可用性')不是401場景。 200看起來不錯。

相關問題