HTTP_REFERER重定向 PHP 代码不起作用


HTTP_REFERER redirect php code not working?

以下脚本位于我网站的标题中。 我想使用谷歌分析来监控指定网站发送到我正在开车去的网站的流量。 该脚本会将用户从我的网站重定向到我正在吸引流量的网站。 我测试了脚本,它没有重定向。 我在另一个网站上放置了一个指向我网站的链接,我必须测试脚本,但我没有被重定向到我试图吸引流量的网站。 有什么想法吗?

 <?php
 $ref = $_SERVER["HTTP_REFERER"];
 if ( $ref != 'http://www.websitetrafficiscomingfrom.com' )
exit;
 ?>
 <?php if ( $ref == 'http://www.websitetrafficiscomingfrom.com' ) { ?>
 <script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-32605120-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
 <!-- <?php } else if ($_SERVER['HTTP_REFERER'] != "") { ?>
 <script type="text/javascript">
 var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-32554427-2']);
  _gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
 </script> -->
 <meta http-equiv='REFRESH" content='0;url=websitetrafficissupposedtogoto.com'>
 <?php } ?>

对于初学者来说,引荐来源网址将始终为空白或完整的URL(包括尾随/,如果需要)。因此,它永远不会是你要求的价值。因此,您将始终死亡并导致一个不执行任何操作的空白页。

除此之外,我真的想知道你在做什么。与随附的代码相比,您的问题似乎没有任何意义,并且存在哪些代码似乎是多余的。我的意思是,你检查是否a != b,如果是,退出。否则,请检查是否a == b,好像有可能突然不再正确。更糟糕的是,你有一个注释掉的else块,表明在某些时候你显然打算再次检查是否a != b,即使你的代码已经死了,如果是这种情况......

我建议完全删除此代码。使用HTTP_REFERER既无用也不可靠,我唯一会使用它的就是作为阻止大多数热链接尝试的弱屏障。即便如此,也只是要谨慎。