看着How can I store my users' passwords safely?,加密密碼的最好方法是使用phpass。我想使用PEAR Auth包進行身份驗證,但PEAR僅支持md5,sha1,sha256,sha512,並且PEAR不會向哈希中添加鹽。PEAR Auth真的是PHP身份驗證的可行選項嗎?
PEAR驗證也不支持很多的是在How should I choose an authentication library for CodeIgniter?
- 驗證碼列出的功能支持
- 激活郵件
- 未激活的賬戶自動到期
- 用途phpass的散列(和在數據庫中也使用自動登錄代碼)
- 失敗的登錄嘗試周圍的非常合理的安全模式(良好的防止機器人和DoS攻擊)
- 「記住我」的功能
我的問題是:是PEAR驗證一個真正可行的選擇嗎?它似乎使用它,我將不得不自己編寫所有缺少的功能。 是否有更好,功能更豐富的Auth庫不包含在框架內?我只想爲我的簡單網絡應用程序提供基本的安全身份驗證。
我知道這並不能回答你的問題,但是如果你使用rounds和隨機鹽,sha256和sha512對散列很有好處。我建議你看看[crypt](http://php.net/crypt)。我不確定PEAR Auth是否支持它,但是如果它支持,您可以使用它來代替另一個庫。 – Mike
正如@mike所建議的,沙可以工作。 PEAR是一個可行的auth庫,它不像我認爲最基本的Web應用程序所需要的那樣豐富;即缺少這些功能:丟失密碼,記住我,激活電子郵件。 – bperdue
您可能想看看https://github.com/delight-im/PHP-Auth,它既是框架不可知的,也是數據庫不可知的。 – caw