php
  • http
  • redirect
  • referer
  • 2012-06-13 57 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

    相關問題