[英]Is it secure to use redis-rails as session store?
當用作會話存儲時,我注意到redis-rails將會話ID以未加密的格式保存在cookie中。 不應將會話ID視為安全信息,並且不將其暴露在未經加密的cookie中以阻止會話劫持嘗試嗎?
沒有。
會話標識符cookie是將客戶端鏈接到會話的唯一(不錯的)方法。 客戶必須具有可以隨請求一起傳遞的某種聲明,以便我們可以識別它們。
無論您使用CookieStore,Redis,ActiveRecord還是memcached,這都適用。
使用固定鹽或不加鹽對會話標識符進行加密絕對不會浪費時間,因為攻擊者無論如何在中間人攻擊或XSS攻擊中都可以訪問cookie。
如果您使用了鹽,則還必須將其鏈接到用戶。 現在您有兩個問題,而不是一個。
盡管您可以使用一堆新穎的方法,例如對用戶代理,ip或其他您認為對客戶端了解的方法加鹽,但安全性益處很少。
正如@pvg所說:
會話ID僅必須是隨機的,不可預測的並且足夠大。
保護會話的有意義的方法是:
reset_session
以避免會話固定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.