2012-02-14 85 views
2

我前幾天在金字塔框架上推出了我的網站,並且我選擇了session.type = cookiepyramid_beaker以性能爲由。 所以在餅乾我已經加密USER_ID,它看起來像這樣:Pyramid_beaker:session.type = cookie不安全?

usr: "d79c098d69c26a4a85459acf03104ad74f3a22de1!userid_type:int" 
# for example here is encrypted id 1 

而且比我試圖替代的cookie。我已經登錄在ID 2下,更改它的cookie在前一個,現在我自動登錄ID 1!

這是正常的嗎?安全嗎?用超級算法加密什麼?那麼,有些病毒可以竊取一些用戶的cookie並在他的ID下登錄?安全性在哪裏?

任何人都可以解釋我嗎? 謝謝!

+0

等待,「更改它在上一個cookie」=「更改cookie爲1的一個」? – Griwes 2012-02-14 15:10:58

+0

@Griwes我的意思是我已經改變了它對加密的字符串從我的例子,它把它,現在我是另一個用戶... – 2012-02-14 15:12:11

+2

這就是餅乾的工作方式,你知道。這就是Cookie本身無法安全工作的原因。 – Griwes 2012-02-14 15:33:07

回答

5

是的,會話cookie很容易被盜用並被用來模擬登錄用戶。您可以在一定程度上將會話的壽命縮短到一定程度,並且/或者將它們綁定到客戶端的IP地址,從而將這種風險降到最低,但這些對於專門的黑客來說只是絆腳石。唯一真正的解決方案是使用SSL完全加密會話。這就是爲什麼許多熱門網站(Gmail,Facebook等)提供或需要HTTPS會話,以及爲什麼Firefox擴展HTTPS Everywhere存在。

+0

因此,我的解決方案是將cookie從cookie更改爲(例如)數據庫? – 2012-02-14 15:19:45

+0

我從來沒有使用金字塔,但通常即使會話存儲在後端(即服務器上的數據庫),某種會話cookie用於將用戶與其數據庫記錄相關聯,以便框架不會「 t需要在每個請求上對用戶進行身份驗證。這有相同的漏洞。 – kindall 2012-02-14 15:22:33

+0

我唯一能說的是偉大的......但是感謝解釋,它幫助了很多。 – 2012-02-14 15:28:02