2

我有一个 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 而没有引荐来源。但是,例如,我注意到在使用自动冲浪时,我陷入了无休止的重定向,其中推荐人只是不清除......知道为什么吗?

问候

4

3 回答 3

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;
}
?>
于 2009-08-09T13:23:56.423 回答
0

当然,这是行不通的。http referer 是在浏览器中设置的,客户端而不是通过服务器。

尝试使用 javascript 清除它

于 2010-03-06T15:02:51.450 回答
0

尝试if(isset($_SESSION['HTTP_REFERER']))if(empty($_SESSION['HTTP_REFERER']))

于 2009-08-09T13:24:59.263 回答