【问题标题】:Detecting url user visited before coming to my site in Rails在 Rails 中检测访问我的网站之前访问的 url 用户
【发布时间】:2013-02-28 22:05:56
【问题描述】:

我想保存用户在登陆我的网站之前访问的网址。我应该如何在 Rails 中做到这一点? 我试过 request.env["HTTP_REFERER"] 但无法检索上一个网址。

可能这是一种错误的测试方式,但这是我所做的:

  1. 我转到一个页面,例如 google.com
  2. 然后我输入:localhost:3000。然后让调试器捕获 request.env["HTTP_REFERER"]。但它产生 nil

HTTP_REFERER 是否仅在用户通过重定向访问我的网站时可用,而不是手动输入地址?

谢谢。

【问题讨论】:

标签: ruby-on-rails http-referer


【解决方案1】:

如果您在其中键入新 URL,您将看不到用户访问的最后一页。HTTP_REFERER 仅在您单击链接时设置。如果您可以看到用户之前查看的任意 URL,这将是一个相当大的隐私侵犯。

【讨论】:

  • 另外请注意,用户可以在他们的浏览器中禁用引用者(至少在 Firefox 和 Chrome 中)。
【解决方案2】:

这在 HTTP 标头中作为“referer”发送。所以,如果用户的浏览器和/或任何代理没有过滤掉它,request.referer 应该有你需要的东西。

【讨论】:

  • 谢谢。我更新了我的问题以澄清。可以请教吗?
  • referer 的目的是指出引导用户访问该站点的“来源”。因此,单击链接或获得重定向可能都是您作为“推荐人”的最后一页的有效方式。如果您在浏览器中输入您的 URL,那么您就是“源”而不是您所在的任何页面,所以我不希望最后访问的页面显示在引用标题中。所以,是的,当您手动输入地址时,我希望它是空的。我不确定所有浏览器都符合这一观点,正如其他发帖人评论的那样,现在有些人允许你为了隐私而关闭它。
猜你喜欢
  • 2013-09-25
  • 2018-06-24
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 2013-12-01
相关资源
最近更新 更多