Rails - 会话的Cookie或活动记录存储

Rai*_*bie 7 security ruby-on-rails

我正在为我的项目构建一个身份验证系统.存储会话信息的推荐方法是什么(我只是存储用户的id):

  • Cookie商店
  • 活动记录存储

此外,使用嵌套表单和accepts_nested_attributes_for的安全性问题是什么.

请指教.

非常感谢提前.

小智 7

使用CookieStore时肯定存在安全问题.主要问题是不能在服务器端杀死CookieStore会话.如果有人可以访问您的cookie,他可以轻松地以您的身份登录.即使您注销并使用新cookie启动新会话.

ActiveRecordStore至少使您能够通过从会话中删除会话来使会话无效.

这是一篇关于它的好博文.http://www.bryanrite.com/ruby-on-rails-cookiestore-security-concerns-lifetime-pass/


Mse*_*enb 4

Rails 默认使用 cookie 存储,因此这可能是正确的选择。一般来说,cookie 存储非常适合高流量网站。你只是不应该在会话中存储任何关键任务的东西(你说你只存储用户 ID,这很好)。

至于使用这些的安全问题......我认为没有太多?查看 Railscasts 以获得有关使用它们的精彩教程。唯一想到的可能是使用 attr_accessible 来限制您可以批量分配的内容。如果您需要的话,CanCan 也是一个很棒的授权宝石。