2010-06-16 33 views
0

因此,我可以使用getenv('HTTP_REFERER')来获取该会员以前访问过的URL,但只有在它是同一网站时才能使用。我想要这个:
例如。会员首先访问google.com,然后进入我的网站。我想告诉他,之前他访问过google.com网站。如果可能的话,我该怎么做?我怎样才能知道成员以前访问过哪个网站?

回答

3

$_SERVER['HTTP_REFERER']对于这两种情况都可以正常工作,只要他们遵循google.com的链接即可访问您的网站。例如:​​

+0

当我在本地尝试这种方式时,它不起作用,但无论如何,谢谢。 – 2010-06-16 22:21:06

+1

它应该。如果您将地址栏中的网页网址输入到地址栏中,它将不起作用 - 在这种情况下没有引荐页面。如果用户点击到您网站的实际链接,则只能获得引荐来源。 – ceejayoz 2010-06-16 22:23:14

+0

是的,明白了,ty。 – 2010-06-17 14:05:27

1

您只能使用HTTP_REFERER标头,并在访问者访问您的网站时捕获它。它可能不会被设置,它可能是错误的。没有其他的方式(正确地说,我重视我的隐私)。如果您需要“记住”数据,则将其存储在会话中。

1

简单的答案是这是不可能的。如果你幸运的话,你可以得到直接引用者,但没有别的(例如,不是引用者的引用者)。能够通过JavaScript或回传检索浏览器选项卡的完整历史记录将是一个主要的安全问题。

0

抓取浏览器的历史记录被认为是侵犯了隐私,所以任何可能存在的方法都将被视为浏览器中的安全漏洞。

请注意,即使HTTP_REFERER标头被许多人认为是隐私问题,所以它被禁用或经常过滤(http://en.wikipedia.org/wiki/HTTP_referrer#Referrer_hiding)。

相关问题