我有一个php脚本,检查引用者是否在短暂的进程后被清除,如果它转发到目的地,如果它没有被清空,我用来清除引用者的进程重新启动。它到目前为止工作,这是我使用的代码:
<?php
$referer = $_SERVER['HTTP_REFERER'];
if($referer == "")
{
echo "<meta http-equiv=\"refresh\" content=\"0;url=http://sitetogoto.com\">";
}
else
{
echo "<meta http-equiv=\"refresh\" content=\"0;url=http://sitewherereferrergetsclearedagain.com\">";
}
?>
到目前为止,如果我点击链接将我带到该脚本,这似乎工作,它带我到sitetogoto.com没有推荐人。但是,我注意到在使用autosurf时,我陷入无休止的重定向,而引用者只是不清楚...知道为什么?
此致
答案 0 :(得分:4)
在PHP中,一种干净的方式是标题重定向
<?php
if ($_SERVER['HTTP_REFERER']!="http://www.yoursite.com") {
header("Location: http://www.example.com/");
exit;
}
?>
修改(您的问题)
<?php
if (!empty($_SERVER['HTTP_REFERER'])) {
// CLEAR IT / REDIRECT
header("Location: http://www.example.com/");
exit;
}
?>
答案 1 :(得分:0)
尝试if(isset($_SESSION['HTTP_REFERER']))
或if(empty($_SESSION['HTTP_REFERER']))
答案 2 :(得分:0)
当然这不起作用。 http referer是在浏览器,客户端而不是通过服务器设置的。
尝试使用javascript清除它