php
  • http
  • redirect
  • referer
  • 2012-06-13 58 views 0 likes 
    0

    以下脚本位于我网站的标题中。我想使用谷歌分析来监控指定网站发送到我正在驾驶的网站的流量。该脚本会将用户从我的网站重定向到我正在为其提供流量的网站。我测试了脚本,并没有重定向。我在另一个网站上放置了一个链接到我的网站,我必须测试这个脚本,但是我没有重定向到我尝试提供流量的网站。有任何想法吗?HTTP_REFERER重定向php代码不工作?

    <?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 } ?> 
    
    +2

    “任何想法”---聘请开发人员。 SO不是一个免费的debug-my-scripts-because-I'm-too-lazy – zerkms

    +1

    你在这里做什么?这看起来有点阴险 – sczizzo

    +1

    $ _SERVER [“HTTP_REFERER”],是非常不可靠的。 – 2012-06-13 03:32:56

    回答

    1

    对于初学者来说,来源永远是要么空白,或完整URL(包括尾随/,如果需要的话)。因此它永远不会是你要求的价值。因此,你会一直死亡,并导致一个空白页面,无法做任何事情。

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

    我会建议完全删除这些代码。使用HTTP_REFERER没有用也不可靠,我唯一使用它的地方是阻止大多数盗链尝试的弱点。即使如此,也只有谨慎。

    +0

    那么最好的办法是什么?我想运行一个脚本,该脚本将监视来自特定网站的流量,该流量正在转到我尝试吸引流量的网站上。我试图将流量提升到iTunes产品页面,但iTunes不会让您选择将Google Analytics(分析)放到您的应用页面上。所以我需要一个脚本来做两件事: 1.监控并过滤掉来自指定网站的流量,该网站链接到我正在吸引流量的站点。 2.使用谷歌分析来追踪流量过滤后的流量。 – user1114968

    相关问题