我只是想知道,對於一個PHP會話,是否會優先存儲包含登錄用戶的ID或用戶名的會話變量?PHP - 存儲會話用戶名或ID首選?
目前它存儲的用戶名,而ID會更安全,因爲潛在的「黑客」,他們可能不知道該ID相關的用戶?
我只是想知道,對於一個PHP會話,是否會優先存儲包含登錄用戶的ID或用戶名的會話變量?PHP - 存儲會話用戶名或ID首選?
目前它存儲的用戶名,而ID會更安全,因爲潛在的「黑客」,他們可能不知道該ID相關的用戶?
PHP會話通過給用戶提供一個「不透明」的cookie來工作 - 也就是說,cookie只是一個數字,實際的數據存儲在服務器上。當用戶向您發送會話cookie時,PHP將查找表中的數字以檢索您爲該用戶存儲的數據。
這意味着如果沒有訪問您的服務器,任何聽網絡的人都可能弄清楚會話cookie的實際含義是不可能的。他們需要存儲在服務器上的表格。因此,如果您在會話中存儲身份證號碼或用戶名,則無關緊要:如果他們有足夠的權限查看會話中的內容,那麼他們可能只是根據身份證號碼查找用戶名。
感謝您的洞察力。很有幫助 :-) – zuc0001
看起來像一個ID會是更聰明的選擇,但不是因爲它更安全,而是因爲它很可能是數據庫中的主鍵。 – Devon
@Devon這也是我的想法。我一直在使用用戶名,但最近我發現ID更容易使用。 – zuc0001
從「黑客」角度來看,這沒有什麼區別。如果黑客試圖模仿另一個用戶,他將使用用戶名,如果你的會話存儲用戶名和id,如果你的會話使用ID。 – nhee