3
這個問題可能有點抽象,但我想知道實現密碼恢復的最佳/標準方法是什麼。我試圖在我的代碼中實現它,但我開始使用的方法似乎有點迂迴/混亂,我想知道「Rails方式」是做什麼的。有什麼建議麼?Rails - 密碼恢復
這個問題可能有點抽象,但我想知道實現密碼恢復的最佳/標準方法是什麼。我試圖在我的代碼中實現它,但我開始使用的方法似乎有點迂迴/混亂,我想知道「Rails方式」是做什麼的。有什麼建議麼?Rails - 密碼恢復
通常應該對密碼進行散列(理想情況下用鹽)而不是加密,以便它們不能被解密。然後,爲了檢查用戶是否正確輸入密碼,你需要輸入他們所輸入的內容並使用相同的salt和散列函數,並查看它是否與數據庫中的散列相匹配。
以這種方式存儲,密碼不能恢復。着手恢復丟失密碼的標準方法是:
http://fakesite.com/reset_password?token=long_token_generated_in_step_2
。設計,爲Rails認證的寶石,具有遵循此模式的Recoverable strategy。
一些網站採用額外的安全檢查,罪ce電子郵件不是100%安全的。例如,您可能會要求,要獲取密碼重置電子郵件,用戶必須回答一個祕密問題(通常在創建帳戶時設置)。
設計實現了大部分模式,看看https://github.com/plataformatec/devise – clyfe 2012-01-04 00:05:44