清除引荐来源时重定向。 php如果可能的话

时间:2009-08-09 12:58:19

标签: php referrer

我有一个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时,我陷入无休止的重定向,而引用者只是不清楚...知道为什么?

此致

3 个答案:

答案 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清除它