【问题标题】:Rails request.referer not working in internet explorerRails request.referer 在 Internet Explorer 中不起作用
【发布时间】:2012-11-09 13:02:33
【问题描述】:

我正在使用 Rails 中的 Spree 电子商务并使用 CAS 进行单点登录。
使用 cas 登录后,我使用 request.referer 将其重定向到上一页,但它不适用于 Internet Explorer。
在 Internet Explorer 中,它会将我重定向到我的应用程序的主页。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 cas spree


    【解决方案1】:

    在某些情况下,IE 不会发送referer 标头。 Microsoft 有一个 support article 涵盖了这一点。

    在 Internet Explorer 4.0 及更高版本中从一个文档链接到另一个文档时,如果链接是从 HTTPS 页面到非 HTTPS 页面,则不会发送 Referer 标头。当链接来自非 HTTP(S) 协议(例如 file://)到另一个页面时,Referer 标头也不会发送。

    【讨论】:

      【解决方案2】:

      正如道格拉斯所说,request.referer 不能从“https”到“http”。您可以做的是在移动到 https:// url 之前存储 url。我想这应该可行。

      【讨论】:

      • Referer 在这种情况和许多其他情况下非常不可靠。如果您可以控制两个页面,则此答案是正确的解决方案 - 设置 cookie,或者如果您自己的 HTTP 标头不可行并使用它。你也可以附加一个查询字符串参数,但这很丑而且很脆弱。
      猜你喜欢
      • 2011-04-15
      • 2011-11-26
      • 2012-06-07
      • 2015-03-16
      • 2012-05-06
      • 2011-06-02
      • 2015-12-17
      • 2013-04-30
      • 2013-09-25
      相关资源
      最近更新 更多