「wordpress plugins」StatPress for 反向代理的主機

statpress_wpStatPress1.4.3 是一個蠻有名

但似乎沒在更新的一個 人數統計插件,

不過就統計IP以及人數方面是相當好用的,

因爲他的簡單不複雜 直覺可以直接看到數據,

而且也有瀏覽器的統計 網址的統計和記錄,

可以更方便的查看惡意的攻擊,

但是當主機是反向代理的主機時,

IP永遠都是前面那臺,

這時候可以做一些小修正



首先 點選編輯

sp_1

 

之後找到 statpress.php 這個選項進行編輯,

sp_2

找到差不多1000多行的地方,塞入一個 function

//cx cx_getClientIP
if ( ! function_exists('cx_getClientIP'))
{
  function getClientIP() {  
        $ip = "unknown";    
        if (isset($_SERVER)) {  
            if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {  
                $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];  
            } elseif (isset($_SERVER["HTTP_CLIENT_ip"])) {  
                $ip = $_SERVER["HTTP_CLIENT_ip"];  
            } else {  
                $ip = $_SERVER["REMOTE_ADDR"];  
            }  
        } else {  
            if (getenv('HTTP_X_FORWARDED_FOR')) {  
                $ip = getenv('HTTP_X_FORWARDED_FOR');  
            } elseif (getenv('HTTP_CLIENT_ip')) {  
                $ip = getenv('HTTP_CLIENT_ip');  
            } else {  
                $ip = getenv('REMOTE_ADDR');  
            }  
        }  
        if(trim($ip)=="::1"){  
            $ip="127.0.0.1";  
        }  
        return $ip;   
    }  
}

這個就是取得IP的函數,

之後把

$ipAddress = $_SERVER['REMOTE_ADDR'];

都改成

$ipAddress = getClientIP();

最後儲存,在看看是不是有外部進來的IP ,假如沒有的話,

就是前端那臺伺服器需要設定反向回來的參數。

基本上這樣修改 就可以解決看不到進來的IP了。

假如懶得改也可以下載我的版本,打開覆蓋到你的程式碼就OK拉。

添加新評論