【问题标题】:Storing data in session cookies在会话 cookie 中存储数据
【发布时间】:2014-12-30 15:09:27
【问题描述】:
我正在浏览 Michael Hartl 的 Ruby on Rails tutorial book。在第 9 章中,他谈到了在用户关闭浏览器后删除会话 cookie。为确保用户在后续访问期间登录,可以创建一个单独且持久的 cookie。
他将会话 cookie(由 rails 实现)描述为安全的。所以问题是为什么有一个过期的会话cookie?我知道它不再需要被称为会话 cookie,您必须确保 cookie 低于 4kb 限制。然后,会话 cookie 将在其余生中充当安全的“记住我”。
为什么网站不将其会话 cookie 永久化?
【问题讨论】:
标签:
ruby-on-rails
ruby
session
cookies
【解决方案1】:
在 Ruby on Rails 教程中,他还告诉了我们窃取 cookie 的四种主要方法。请记住这一点。
我们必须区分两种类型的 cookie。一个是持久的,另一个是每个会话的。
Microsoft 将它们定义为:
持久性 cookie 的存储时间由 Web 服务器在将 cookie 传递到 Internet Explorer 时设置。这些 cookie 用于存储访问网站之间的状态信息。
每会话 cookie 仅用于在会话中存储状态信息。这些 cookie 仅在用户访问发布每个会话 cookie 的 Web 服务器时被缓存,并在用户关闭会话时从缓存中删除。
我们使用持久性 cookie 来判断用户是谁。不过,到期日期取决于您。你可以随意设置它。但是当它过期时,用户必须重新登录。
对于开发人员来说,也许有人认为让用户记住并一遍又一遍地输入会更安全。
老实说,即使在用户登录后,当用户正在做一些重要的事情时,询问密码会更安全。
【解决方案2】:
我相信会话实际上是持久的,我合作过的许多网站都已将它们永久化,并使用它们来登录用户并跟踪他们。