php标题('位置:http://example.com')未通过引荐来源

时间:2018-02-01 12:37:46

标签: php header referer

问题:

通过header('Location: http://example.com') - $_SERVER['HTTP_REFERER'];将用户从http://sample.com重定向到http://example.com时为空。

即使通过header('Referer: http://sample.com')设置引荐,然后通过header('Location: http://example.com')重定向 - $_SERVER['HTTP_REFERER'];仍为空。

预期结果:

http://example.com通过$_SERVER['HTTP_REFERER']重定向接收header('Location: http://example.com')适当的推荐人

用例

其他:

    如果用户在http://sample.com 上隐藏链接,则
  • 行为正确无误
  • 如果用户通过javascript` window.location =" http://example.com"重定向,行为是正确的。
  • $ _ GET不是一个选项,因为它可以很容易伪造,因为http://example.com无法验证邀请

1 个答案:

答案 0 :(得分:0)

来自PHP文档Server Variables

  

'HTTP_REFERER'引用的页面地址(如果有的话)   用户代理到当前页面。这是由用户代理设置的。不是全部   用户代理将设置此,并且一些提供修改的能力   HTTP_REFERER作为一项功能。简而言之,它无法真正被信任。

最好在Cookie或会话中设置当前网址并使用它。