在時間我花了從學習PHP如何支持Unicode我一直在鑽研使我的「記住我」餅乾安全些休息片刻。然而,有一些我不明白的東西,還有一些我自己的想法,我想提出一些建議和意見。PHP:記住我和安全?
1)是否有采用「記住我」的功能,不涉及任何的cookie的方法?很好奇,因爲存儲身份驗證Cookie存在明顯的安全漏洞。並不是說每件事都沒有安全風險。
2)因爲我不跟銀行或「高度敏感」信息的工作,是否有必要要求用戶輸入自己的密碼更「高調」的領域?如果我們只是在兩分鐘後要求他們實質上登錄,記住登錄名就會很浪費。
3)什麼是從「根本」)中存儲的身份驗證cookie(除了絕對的最佳方法是什麼?我目前編碼該區域以在Cookie中設置單個標記(使用time(),其用戶代理,remote_addr和salt - sha256)進行散列。當所述用戶回來時,它檢查令牌的'會話'表,然後將IP與IP相匹配以登錄它們。如果令牌存在但IP不匹配,則它默默取消cookie,並要求它們以如果他們沒有一個。
再次感謝大家。
您應該重新使用現有的驗證框架只要有可能,因爲它確實很複雜。例如,看一下https://github.com/delight-im/PHP-Auth您需要在客戶端爲您要做的事情提供持久性存儲 - 因此,Cookie是理想的選擇。 – caw 2016-09-21 02:51:53