簡體   English   中英

我應該如何在Cookie中存儲用戶的LDAP密碼?

[英]How should I store a user's LDAP password in a cookie?

所以我有這種黑匣子身份驗證方法,它是從帳戶人員那里傳給我的,基本上等於ldap_bind($connection, $username, $password) 但是,當然,我希望我的用戶能夠一次登錄30天。

幼稚但不安全的處理方式是將用戶名和密碼存儲在純文本cookie中,然后在每次用戶訪問時使用我的黑盒進行驗證。

通常有效但不因我的黑匣子而行的方式是將用戶密碼存儲在數據庫中(或將其存儲為散列的?),然后將散列的版本存儲在cookie中,然后比較這些值。 這在這里不起作用,因為我的黑匣子要求輸入實際密碼,而不是哈希密碼。

我目前的想法是某種加密(與散列相反)。 但是由於這顯然是一個普遍的問題,我想我最好先問一下周圍是否有更好的解決方案,或者如果沒有,您對加密/解密方法的建議是什么。

這不會真正回答您的問題, 但是您不應存儲用戶密碼,甚至不進行加密。

如果確實需要這樣做,並且用戶知道您正在這樣做。 然后將密碼存儲在應用程序的數據庫中(當然是加密的),然后向用戶發送帶有哈希的Cookie。 當用戶想要登錄時,將哈希與您存儲的哈希進行比較,然后才將未加密的密碼發送到ldap。 切勿將密碼(甚至未加密)發送到用戶的計算機。

同樣,這是一個非常糟糕的做法。 如果ldap不允許您存儲會話/密碼,則可能有充分的理由。

當用戶登錄時,給他們一個隨機生成的“會話cookie”(嚴格來說不是會話cookie,因為它的持續時間長於瀏覽會話)並存儲以下元組:

user_id | cookie_id

然后將cookie_id連接起來,將user_id與您的用戶表一起加入,然后退出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM