PHP HTTP_REFERER和锚标记href

时间:2019-04-08 18:12:56

标签: php

我正在尝试使用$_SERVER['HTTP_REFERER']获取目标网站上的引荐来源网址。

example.com

<a href="example2.com">Click Me</a>
<a href="example2.com/page/2">Click Me</a>
<a href="example2.com/page/3">Click Me</a>
<a href="example2.com/page/4">Click Me</a>

example2.com

echo $_SERVER['HTTP_REFERER'];

结果为空白。我点击了链接。我该如何解决? $_SERVER['HTTP_REFERER']可以与外部域一起使用吗?

2 个答案:

答案 0 :(得分:2)

  

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

请参阅PHP Manual

为防止此错误,请尝试

if(isset($_SERVER['HTTP_REFERER'])) {
  echo $_SERVER['HTTP_REFERER'];
}

OR

echo isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';

答案 1 :(得分:1)

不能依靠它。

  

将用户代理引至网页的页面地址(如果有)   当前页面。这是由用户代理设置的。并非所有用户代理都会   进行设置,并且某些功能可以将HTTP_REFERER修改为   特征。简而言之,它不能真正被信任。

PHP Manuel