2014-08-28 56 views
1

據我瞭解,存儲會話的策略之一是將其存儲在cookie中。有一兩件事,我不從文檔理解:會話和cookie如何在Rails 4中工作?

爲了防止會話哈希篡改,摘要是從與服務器端祕密的 會話計算並插入 cookie的末尾。

這是什麼意思?他們如何防止這種情況發生,如果我從其他用戶那裏獲得cookie,並在瀏覽器中使用它,我不能假裝我是其他用戶?我想我不明白什麼會話哈希篡改手段。

回答

2

他們如何防止,如果我從另一個用戶那裏得到一個cookie,而我 在我的瀏覽器中使用它,我不能假裝我是另一個用戶?

這被稱爲會話劫持,涵蓋在http://guides.rubyonrails.org/security.html#session-hijacking。要緩解這一建議的方法是「在你的應用程序配置文件總是迫使SSL連接」,就像這樣:

config.force_ssl = true

整個http://guides.rubyonrails.org/security.html是絕對值得一讀,爲更多像這樣的善良。

+0

還值得注意的是,使用純粹基於cookie的會話方法不允許用戶手動使會話失效(註銷)。該cookie在到期前仍然是有效的會話。 – Slicedpan 2014-08-28 07:56:20

+0

不錯 - 我稍後會在閱讀這篇文章,謝謝! – 2014-08-28 09:17:39

+0

謝謝。我其實已經閱讀過這些指南,但我仍然對以下內容有所懷疑。如果我進入那個人的電腦,並且我複製這個cookie,並把它放到我的瀏覽器中,我就可以假裝我是他,對嗎?或者''digest''會幫助避免這種情況?具體來說,這部分''爲了防止會話哈希篡改,摘要是根據服務器端祕密的會話計算出來的,並插入cookie的末尾 - 這意味着什麼? – 2014-08-28 16:58:21