我一直很好奇一段時間關於圍繞PHP會話名稱的安全問題:PHPSESSID
。PHPSESSID安全問題?
我注意到一些網站重命名了它們的會話ID cookie,而另一些網站卻將它作爲默認值。
使用不同名稱有沒有安全優勢?還是僅僅能夠跟蹤每個用戶的多個會話?
我一直很好奇一段時間關於圍繞PHP會話名稱的安全問題:PHPSESSID
。PHPSESSID安全問題?
我注意到一些網站重命名了它們的會話ID cookie,而另一些網站卻將它作爲默認值。
使用不同名稱有沒有安全優勢?還是僅僅能夠跟蹤每個用戶的多個會話?
如果您對會話劫持感到非常擔心,有時會更改默認會話ID,儘管如果您在清理數據時採取了最基本的步驟,那麼某人成功劫持會話的機會相當不錯,關閉註冊全局變量並且只接受特定POST或從你的形式正確地投變量...
您可以閱讀Session Fixation here(這是標準的sessionId的變化通常是用來戰鬥)..
如果您想掩蓋您正在運行php的事實,那麼您應該更改名稱。然而更常見的是,開發人員得到了重新創建風輪和編寫他們自己的(非常破壞的)會話處理程序的可怕想法。這種方法中的9次比通常的session_start()
安全得多。
當然,有些人通過會話cookie名稱暴露了PHP的偏執狂,然後完全忘記/忽略了Apache中的X-Powered-By頭和ServerTokens。 – 2010-12-14 20:14:45
@Marc B,並忘記在其php.ini中設置'expose_php = Off' :) – rook 2010-12-14 20:58:51
一點也沒有沒有絲毫的差別。
不,會話ID的名稱只是一個名稱來標識會話ID;只要系統知道該名稱,就可以將其更改爲任何你想要的。
但是,如前所述,您可能需要更改名稱以遮蔽您的系統。但除會話ID的名稱外,還有其他方面可用於識別您的系統。
-1更改會話名稱不會防止會話固定。 – rook 2010-12-14 23:46:00