Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取有关转介链接的信息?_Php_Webserver - Fatal编程技术网

Php 如何获取有关转介链接的信息?

Php 如何获取有关转介链接的信息?,php,webserver,Php,Webserver,假设我在网站A中有一个链接,当它点击链接时被重定向到网站B。网站A可能是博客、文章或社交书签网站。我需要知道如何获取网站A的URL。我拥有网站B。因此,我需要在网站B上编写PHP脚本,通过它向我提供有关网站A URL的信息。你也可以向我推荐其他编程语言。您的答案将不胜感激。使用$\u服务器['HTTP\u REFERER'] 将用户代理引用到当前页面的页面(如果有)的地址。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它真的不

假设我在网站A中有一个链接,当它点击链接时被重定向到网站B。网站A可能是博客、文章或社交书签网站。我需要知道如何获取网站A的URL。我拥有网站B。因此,我需要在网站B上编写PHP脚本,通过它向我提供有关网站A URL的信息。你也可以向我推荐其他编程语言。您的答案将不胜感激。

使用
$\u服务器['HTTP\u REFERER']

将用户代理引用到当前页面的页面(如果有)的地址。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它真的不可信


在这种情况下,在您的网站上使用
$\u服务器['HTTP\u REFERER']


按照良好的实践,退出$\u服务器[“HTTP\u REFERER”]

答案是$\u服务器[“HTTP\u REFERER”]

当web浏览器从一个网站移动到另一个网站以及在网站页面之间移动时,它可以选择性地传递它来自的URL。这被称为HTTP_REFERER,本文将介绍如何在PHP中使用此变量

http引用程序概述

默认情况下,大多数web浏览器都会传递HTTP_REFERER变量,但在许多情况下,这种行为可以更改为不显示该变量或传递其他变量。还有第三方反间谍软件等软件,可以安装在用户的计算机上,这也可以防止参考信息被传递到网络服务器。因为它也可以更改为其他内容,所以HTTP_REFERER不能被信任,但它对于确定人们来自何处仍然很有用。 日志文件中的外观

以下示例来自Apache web服务器的日志文件

第一个示例显示了从该网站主页到该特定帖子的某个人的日志条目的外观。我已经将日志行的HTTP引用部分设置为粗体(您需要向右滚动才能看到它)。 1192.168.1.10---[16/Apr/2008:16:12:36+1200]“GET/php http-referer变量/http/1.1”200 2014http://www.electrictoolbox.com/“Mozilla/5.0(兼容;Konqueror/3.5;Linux)KHTML/3.5.8(类似Gecko)”

第二个示例显示了相同的内容,但因为它由-表示,所以它告诉我们用户要么通过键入地址或使用书签等直接进入该页面,要么使用浏览器选项或第三方工具屏蔽HTTP REFERER。 1192.168.1.10---[16/Apr/2008:16:12:36+1200]“GET/php http referer variable/http/1.1“200 2014”-“Mozilla/5.0(兼容;Konqueror/3.5;Linux)KHTML/3.5.8(类似Gecko)” 在PHP中使用HTTP_REFERER

PHP中的HTTP REFERER存储在$_ServerSuper global中,可以从PHP代码中的任何位置引用,如以下示例所示,只需将其写入浏览器即可: 1 echo$\服务器['HTTP\u REFERER']

如果已设置HTTP_REFERER,则将显示它。如果不是,那么你什么也看不到。如果未设置此选项,并且已将错误报告设置为显示通知,则会看到类似以下的错误: 1注意:未定义索引:第3行的/path/to/filename.php中的HTTP_REFERER

要在通知处于打开状态时防止此错误(我总是在通知处于打开状态时开发),可以执行以下操作: 1如果(isset($\u服务器['HTTP\u REFERER'])){ 2 echo$_服务器['HTTP\U REFERER']; 3}

另一种方式是这样的: 1回显isset($_服务器['HTTP\u参考'])$_服务器['HTTP_REFERER']:''

如何使用?运算符将返回?如果条件为真,则输入第二个值(如果条件为假)。当您希望将HTTP_REFERER的值分配给变量时,可以使用它。例如。: 1$referer=isset($\u服务器['HTTP\u referer'])$_服务器['HTTP_REFERER']:''; 结论


使用$\u SERVER['HTTP\u REFERER']超全局变量将HTTP\u REFERER变量用于日志记录等目的可能很有用。但是,重要的是要知道它并不总是设置好的,所以如果您在编程时打开了通知,那么您需要在代码中考虑到这一点。上面的示例显示了一种方法。

请参阅$\u服务器上的['HTTP\u REFERER']