$ _SERVER ['HTTP_REFERER']总是空的 - PHP

时间:2010-12-23 09:57:24

标签: php redirect http-referer

<?php
$camefrom =$_SERVER['HTTP_REFERER'];
if ((substr($camefrom,0,26) == "http://www.fromperson.com")
header( 'Location: http://toperson.com' ) ;
?>

如果请求来自www.from.com,我需要重定向到www.to.com。此代码位于 www.thridperson.com/index.php

$ camefrom 始终为空。

我已经读过$ _SERVER ['HTTP_REFERER']不可靠。有没有其他方法可以执行此重定向?

注意:我无法访问旧域名,即fromperson.com。所以,我不能改变这种重定向逻辑,它必须以这种方式完成,而且只能在thirdperson.com/index/php中完成

2 个答案:

答案 0 :(得分:7)

$_SERVER['HTTP_REFERER']确实不可靠。客户端(浏览器)不需要将其包含在请求中。如果您需要一个始终有效的防弹解决方案,您必须在`fromperson.com'上对您的应用程序进行moddiffy以在链接到您的网页时包含一些GET参数,然后您可以检查该GET参数是否存在然后执行重定向。

答案 1 :(得分:0)

根据我的要求无法做到