2011-01-11 46 views
49

假设我的网站的网址是作为互联网某页上的超链接提供的;该网页可能是互联网上的任何内容 - 博客,orkut,雅虎,甚至stackoverflow等,有人点击它,并访问我的网站。那么我们可以知道,使用PHP,访客来到我的页面的前一个网址?如何使用PHP获取以前的网址

回答

91

使用$_SERVER['HTTP_REFERER']标题,但请记住,任何人都可以随时欺骗它,无论他们是否点击了链接。

+0

它是跨浏览器的解决方案吗? – NullPointer 2014-03-20 10:45:07

19

$_SERVER['HTTP_REFERER']就是答案

13

$_SERVER['HTTP_REFERER']会给你不完整的URL。

如果你想http://bawse.3owl.com/jayz__magna_carta_holy_grail.php$_SERVER['HTTP_REFERER']只会给你http://bawse.3owl.com/只。

0

但是你可以为每个fromurl建立一个自己的链接。

例子:http://example.com?auth=holasite

在这个例子中你的网站是:example.com

如果有人打开链接是给你在auth变量holasite值。

然后只是$ _GET ['auth'],你有变量。但是你应该建立一个数据库来存储它并进行授权。

像: $ holasite = http://holasite.com (你可以使用mysql太..)

而只是与之相匹配的,和你有网址。

这种方法稍微复杂一点,但它的工作原理。此方法适用于共享系统身份验证。但是网站名称在哪里,你应该写一个ID,并使用该ID。