【问题标题】:Using brackets in cookie names (Rails)在 cookie 名称中使用方括号 (Rails)
【发布时间】:2010-09-16 03:52:31
【问题描述】:

当尝试写入/读取名称中包含括号的 cookie 时,Rails 似乎无法处理这个问题。例如:

cookies["example[]"] = "value"

这会导致 cookie 名称为“example%5B%5D”而不是“example[]”。同样,如果我已经设置了一个名为“example[]”的 cookie,那么 Rails 似乎无法通过调用 cookies.delete "example[]" 正确删除它,因为正在对 [] 字符进行编码。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 简单的解决方案...不要在 cookie 名称中使用括号。
  • 字符串转义有效吗?例如。 “示例\[\]”?
  • @Karl - 不幸的是没有。 :(

标签: ruby-on-rails cookies


【解决方案1】:

Th rfc 没有指定 cookie 名称中的所有内容。它只是说名称必须是 text 。我猜 rails 正在对文本进行编码,因此括号变成了 %5B%5D 。我认为最好避免在 Cookie 中使用此类字符。

【讨论】:

    【解决方案2】:

    看来这只能由hacking the Rails core 完成。糟透了 Rails 开发人员以这种方式实现它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      相关资源
      最近更新 更多