假设我的网站的网址是互联网上某个页面上的超链接;该页面可以是 Internet 上的任何内容 - 博客、orkut、雅虎,甚至 stackoverflow 等,并且有人点击它并访问了我的网站。那么我们能否使用 php 知道访问者访问我页面的前一个 url?
6 回答
使用$_SERVER['HTTP_REFERER']
标题,但请记住,任何人都可以随时欺骗它,无论他们是否点击了链接。
$_SERVER['HTTP_REFERER']
是答案
$_SERVER['HTTP_REFERER']
会给你不完整的网址。
如果你想要http://bawse.3owl.com/jayz__magna_carta_holy_grail.php
,$_SERVER['HTTP_REFERER']
只会给你http://bawse.3owl.com/
。
我还不能添加评论,所以我想分享一下 HTTP_REFERER 并不总是被发送。
但是您可以为每个来自 url 的链接创建一个自己的链接。
示例:http ://example.com?auth=holasite
在本例中,您的网站是:example.com
如果有人打开该链接,它会为您提供 auth 变量的 holasite 值。
然后只需 $_GET['auth'] 你就有了变量。但是您应该有一个数据库来存储它并进行授权。
喜欢:$holasite = http://holasite.com (你也可以使用 mysql..)
只需匹配它,您就有了网址。
这种方法有点复杂,但它有效。此方法适用于推荐系统身份验证。但是站点名称在哪里,您应该写一个 id,并使用该 id。
基本上我们使用 $_SERVER['HTTP_REFERER'] 来获取我们网站的前一个 url,但是它给你半个 url 是浪费时间。因此,获取先前 URL 的最佳方式是 Javascript 和 Jquery。