【问题标题】:setting cookies directly in Rails2直接在 Rails2 中设置 cookie
【发布时间】:2011-08-17 23:21:12
【问题描述】:

动机:我正在解决由 ruby​​-on-rails 中的奇怪/变异/奇怪/反常 cookie 引起的问题。我已经捕获了其中一些邪恶的 cookie,我可以使用 Firefox 上的 cookie 管理器来重新创建 cookie 状态以复制问题。我想编写一个 Rails 页面来自动完成设置这些 cookie 的任务。

问题:如果我更改或删除了 rails 控制器中的 _myapp_session cookie,它会给我一个新的。例如,用户永远不会看到对 _myapp_session 的以下更改。

cookies[:_myapp_session] = 'abcedf'

我想为我的域重新创建用户拥有的确切 cookie,包括无效或损坏的 cookie。我怎样才能用 rails2 达到这个低水平?

【问题讨论】:

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


    【解决方案1】:

    它不应该创建一个新的。域的 cookie 是否与页面的源域不同?如果是这样,您可以通过将块传递给 cookie -setter 方法来在 cookie 上设置域。

    cookies[cookie_name] = {
        :value => 'your value',
        :expires => 1.week.from_now,
        :domain => 'sub.yourdomain.com'
    }
    

    【讨论】:

    • 不是不同的域,rails 只是将它放在 cookie jar 中并覆盖您放入 _myapp_session 中的任何内容。
    • 您的问题相当混乱。会话中的所有变量都可以通过 session[:var] 访问。如果您将 cookie 存储用于会话对象,那么您永远不应该直接修改会话 cookie。如果你不介意我问,你有什么证据来支持不正当的 cookie?也许将其添加到您的帖子中?
    • Cookie 损坏问题是一个不同的、多样化的且持续存在的问题,超出了简单的 SO 问题。我不想“支持”不正当的 cookie,而是出于调试目的诱导它们。是的,我可以复制会话变量以获得良好的会话 cookie,但是在字节级别上已损坏的会话 cookie 呢?我想要我可以使用 firefox 插件获得的 bit for bit cookie 复制。
    猜你喜欢
    • 2012-12-28
    • 1970-01-01
    • 2017-01-04
    • 2013-07-23
    • 2018-01-05
    • 1970-01-01
    • 2012-07-18
    • 2011-05-09
    • 2016-04-18
    相关资源
    最近更新 更多