【问题标题】:Rails 4 session variable without a cookie没有cookie的Rails 4会话变量
【发布时间】:2015-01-23 22:18:56
【问题描述】:

由于允许用户选择退出存储 cookie 的令人敬畏的欧盟指令,我遇到了以下问题。

我在屏幕顶部显示一条消息,要求用户选择加入或退出。

  1. 如果用户选择加入,则使用 rack.policy 启用 cookie,并隐藏消息。 cookie 变量被设置为表示该消息不应再次显示以供将来访问。完美
  2. 如果用户选择退出。 Cookies被禁用了,很好。消息被清除....会话变量设置为不显示此会话的消息。这很好,但似乎会话变量的保存方式与 cookie 相同,并且机架策略不允许显示它。因此,该消息会在每一页上闪烁。

首先,感谢欧盟。其次,如何在不保存到 cookie 的情况下保存“会话变量”?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4 session-cookies


【解决方案1】:

除非您尝试使用浏览器提供的本地存储等更奇特的东西,否则您做不到。 The rails guide 明确声明:

所有会话存储都使用 cookie 来存储每个会话的唯一 ID(您必须使用 cookie,Rails 不允许您在 URL 中传递会话 ID,因为这不太安全)。

我不是律师,但值得一提的是,我相信法律旨在适用于用于营销/跟踪目的的 cookie,不适用于网站运行所需的 cookie,例如用于身份验证或临时存储的 cookie .考虑到这一点,您可以将 rails 的会话 cookie 用于必备数据,并将单独的 cookie 用于您的应用程序可以禁用的其他用途。

我不会把它当成福音,但this Wired article 似乎很好地提供了一个简化的解释。

【讨论】:

    猜你喜欢
    • 2015-02-26
    • 2011-02-27
    • 2016-05-03
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 2011-05-09
    • 2012-10-29
    • 1970-01-01
    相关资源
    最近更新 更多