检查重定向

时间:2015-08-17 03:00:28

标签: php

我有两个文件,checking.php包含要检查的代码是从redirect.php重定向,并打印相应的消息,redirect.php包含重定向到文件A的代码。

checking.php

$referrer = $_SERVER['HTTP_REFERER'];
if (!preg_match("/redirect.php/",$referrer)) {
    echo 'not redirect from redirect.php';
}
else
{
    echo 'is redirect from redirect.php';
}

redirect.php

header("location: http://abcdomain.com/checking.php");
exit();

但这不起作用,请建议。

2 个答案:

答案 0 :(得分:1)

使用header("location: http://abcdomain.com/checking.php");不会设置REFERRER,下面显示了一个可能的解决方案(测试并且100%正常工作)
在REDIRECT.php中使用

echo "<script>parent.self.location='http://abcdomain.com/checking.php';</script>";
exit();

这会在check.php中设置$ _SERVER ['HTTP_REFERER']

出现此问题的可能原因如下所示

某些浏览器限制访问不允许传递HTTP_REFERER
    在地址栏中键入地址将不会传递HTTP_REFERER
    打开一个新的浏览器窗口将不会传递HTTP_REFERER,因为HTTP_REFERER = NULL
    有一些浏览器插件,出于隐私原因阻止它。
一些防火墙和AV可以做到。

答案 1 :(得分:0)

它是不是为你重定向,还是重定向,而是打印错误的信息?如果它没有重定向,请尝试“位置:”大写。

如果要重定向尝试sparseMatrix以查看其中的内容。