繁体   English   中英

将redis-rails用作会话存储是否安全?

[英]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仅必须是随机的,不可预测的并且足够大。

保护会话的有意义的方法是:

  • 使用https阻止中间人攻击。
  • 登录和注销用户时,请调用reset_session以避免会话固定。
  • 清理用户输入以避免XSS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM