【问题标题】:Read domain's cookie from subdomain with Rails使用 Rails 从子域读取域的 cookie
【发布时间】:2011-04-03 23:11:30
【问题描述】:

为了存储一些 Google Analytics 数据,我想从我的 www 子域 (domain=www.example.com) 访问 GA "__utmz" 域的 cookie (domain=.example.com)。是否可以从子域中读取该域的 cookie?如果是,我该如何使用 Rails 做到这一点?

cookies[:__utmz] 似乎不适用于所有浏览器。

我知道我可以在我的 production.rb (config.action_controller.session = { :domain => ".example.com" }) 中配置我的应用程序,将 cookie 域设置为“.example.com”,但我不想这样做(因为我不想要我的 www-subdomain 的 cookie在所有子域之间共享)。

我希望我的问题足够清楚......

提前感谢您的帮助(对于我的语言可能出现的错误,我们深表歉意……)

【问题讨论】:

    标签: ruby-on-rails cookies dns google-analytics subdomain


    【解决方案1】:

    允许 subdomain.example.com 上的应用从 www.example.com 读取 cookie 的唯一方法是让 www.example.com 设置顶级 example.com cookie。

    这将允许 subdomain.example.com 读取它,但它也将允许 example.com 的所有其他子域看到这个 - 你说你不想要。

    为此,cookie 按名称检索并由浏览器限定范围。如果有多个同名的 cookie,就会发生冲突。我相信如果同时存在 example.com 和 subdomain.example.com cookie,那么更通用的 example.com cookie 将是唯一为 subdomain.example.com 返回的cookie。

    TL;DR

    除非您希望数据成为跨所有域的权威 cookie(如单点登录),否则请勿使用顶级域 cookie。如果您为 Google Analytics(分析)执行此操作,您将在不同的子域上发生冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-01
      • 2012-06-25
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多