2013-03-21 127 views
1

我需要在PHP中爲$_SESSION變量添加一些重要數據,並且想知道這些數據是否安全。客戶是否能夠看到這個$_SESSION變量的信息?將敏感數據存儲在會話中是否存在安全隱患?

+4

這是爲確保爲您的代碼和服務器是安全的。 – Tchoupi 2013-03-21 02:03:43

回答

1

確實需要你應該採取步驟,使會議更加安全..

1)的HttpOnly餅乾只和禁用會話ID的通過URL中使用會話ID ..

2)session_save_path設置到新的位置在你的公共索引之外。如果你在共享主機上。他們不能使用會話注入來查看會話中的內容。 3)禁用http方法TRACE,TRACK,HEADER你的web服務器,如果攻擊者可以包含一些java,flash或ajax,用戶的http cookie也可以被盜用。

4)IP的用戶代理或某些類型的指紋鎖定會議...

5)續簽所有請求的session_id,使創建會話ID暴力破解更困難

2

不,客戶端無法看到會話數據,因爲它存儲在服務器端。但是:

如果您位於共享服務器上,其他人與您共享服務器並非不可能訪問它。

此外,會話數據通過存儲在客戶端cookie中的會話ID綁定回用戶。如果鮑勃能夠得到愛麗絲的餅乾,他將能夠模仿她。

我想我的答案是不完整的,如果我不提出一些解決爲好,免得:

爲了解決第一個問題,你應該存儲在會話加密的數據。

要解決第二個問題,您還應該比較IP地址等其他內容,以確保Bob不會嘗試使用其他人的Cookie。這樣,如果Bob竊取了Alice的cookie,那麼您可以將Bob的IP與您存儲在會話中的Alice的IP進行比較,並找到不匹配的地方。

+0

謝謝你,你回答了我的問題 – user2130148 2013-03-21 02:36:38

+0

@ user2130148:很高興幫助。如果它確實回答了您的問題,請接受此答案(通過單擊答案左側的複選標記)。 – xbonez 2013-03-21 02:38:18

相關問題