如何使用 PHP 获取上一个 url

Posted

技术标签:

【中文标题】如何使用 PHP 获取上一个 url【英文标题】:How to get the previous url using PHP 【发布时间】:2011-06-07 10:06:09 【问题描述】:

假设我的网站的网址在互联网上的某个页面上以超链接的形式给出;该页面可以是 Internet 上的任何内容 - 博客、orkut、雅虎,甚至 *** 等,并且有人点击它并访问了我的网站。那么我们能否使用 php 知道访问者访问我页面的前一个 url?

【问题讨论】:

【参考方案1】:

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

【讨论】:

是跨浏览器解决方案吗? @NullPointer:就像我在回答中所说的那样,任何人都可以欺骗它,所以我猜你的问题的答案是否定的。 没有。我想以不同的方式问。 我的意思是所有浏览器都支持它吗? @NullPointer 是的,它支持所有现代浏览器。【参考方案2】:

$_SERVER['HTTP_REFERER'] 就是答案

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

但是您可以为每个来自 url 的链接创建一个自己的链接。

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

在本例中,您的网站是:example.com

如果有人打开该链接,它会为您提供 auth 变量的 holasite 值。

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

喜欢: $holasite = http://holasite.com (你也可以使用 mysql..)

只要匹配它,你就有了网址。

这个方法有点复杂,但是很有效。此方法适用于推荐系统身份验证。但是站点名称在哪里,您应该写一个 id,并使用该 id。

【讨论】:

【参考方案5】:

我还不能添加评论,所以我想分享一下 HTTP_REFERER 并不总是发送。

Notice: Undefined index: HTTP_REFERER

【讨论】:

以上是关于如何使用 PHP 获取上一个 url的主要内容,如果未能解决你的问题,请参考以下文章

使用 htaccess 重写后,如何在 PHP 中获取可见 URL(不是实际 URL)? [复制]

php 使用静态主页时如何获取博客页面的URL

如何使用 jQuery 或 php 从 Instagram 令牌获取访问令牌

如何获取网页的url

如何使用 php 或 javascript 获取所有浏览器中当前打开的选项卡的 url?

php如何获取302来路的url