2014-02-13 34 views
0

近期來自代理訪問者和不屬於目標受衆特徵的國家/地區(來自這些國家/地區的訪問者無法使用該服務),我遭到了大量流量的攻擊。如何檢測代理/垃圾郵件訪問者?

與其僅僅阻止訪問者,我不想爲這些訪問者呈現Google Analytics和其他分析代碼。這似乎是一個快樂的媒體,而不是扼殺所有進入的內容,但我不確定檢測代理訪問者的最佳方式。檢測適合某些地理IP邊界的代理訪問者和訪問者的首選方法是什麼?

回答

2

只要運行此功能來檢測代理是否被使用,如果是的話,你可以使用任何你想要的分析代碼或阻止用戶。

function proxy_detected() 
{ 
    if (
    $_SERVER['HTTP_X_FORWARDED_FOR'] 
    || $_SERVER['HTTP_X_FORWARDED'] 
    || $_SERVER['HTTP_FORWARDED_FOR'] 
    || $_SERVER['HTTP_CLIENT_IP'] 
    || $_SERVER['HTTP_VIA'] 
    || in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554)) 
    || @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 30)) 
    { 
     return true; 
    } else { 
     return false; 
    } 
} 

echo (proxy_detected()) ? "Proxy detected" : "No proxy detected"; 
+0

良好的通話,但我也很好奇,就添加VPN代理到這個問題,以及那些看似不可能檢測到任何這樣的想法? – ylluminate

+0

@ylluminate我不知道它有可能檢測VPN我認爲它不能完成,除非你阻止提供商,但不知道。 – dxer

+0

是的,我擔心我會用MaxMind或其他方法來檢測這些。我希望有另一種方式與昂貴的選擇。謝謝。 – ylluminate