很多用虛擬主機建站的朋友都知道的,大部分虛擬主機是不提供網站日誌功能的,這樣網站管理員就無法掌握網站些被訪問了,有些童鞋肯定會說:「你傻啊,用百度統計啊。」 其實百度統計只能統計到前臺頁面的訪問記錄,而其後臺之類的頁面的訪問就統計不到了。其實後臺頁面訪問的統計依然後重要,管理員可以根據這些訪問記錄來瞭解誰訪問了網站的後臺,發出了哪些請求?訪客是否意圖對網站進行攻擊?所以我們要儘可能的統計所有頁面的訪問,並且記錄訪客使用哪些客戶端來訪問網站?訪客對訪問的頁面發出怎樣的請求?這些資訊對於一個合格的網站管理員來說都是非常重要的。

下面小編就來教大家如何讓 WordPress 生成網站訪問日誌。首先開啟當前使用的主題的 functions.php 檔案,並加入以下程式碼:

make_log_file();
function make_log_file(){
        //生成日誌檔案
    $filename = 'zhizhu.txt';
        //去除 rc-ajax 評論以及 cron 機制訪問記錄
    if(strstr($_SERVER["REQUEST_URI"],"rc-ajax")== false
        && strstr($_SERVER["REQUEST_URI"],"wp-cron.php")== false ) {
        $word .= date('mdHis',$_SERVER['REQUEST_TIME'] + 3600*8) . " ";
                //訪問頁面
        $word .= $_SERVER["REQUEST_URI"] ." ";
                //協議
        $word .= $_SERVER['SERVER_PROTOCOL'] ." ";
                //方法,POST OR GET
        $word .= $_SERVER['REQUEST_METHOD'] . " ";
        //$word .= $_SERVER['HTTP_ACCEPT'] . " ";
                //獲得瀏覽器資訊
        $word .= getbrowser(). " ";
                //傳遞引數
        $word .= "[". $_SERVER['QUERY_STRING'] . "] ";
                //跳轉地址
        $word .= $_SERVER['HTTP_REFERER'] . " ";
                //獲取 IP
        $word .= getIP() . " ";
        $word .= "
";
        $fh = fopen($filename, "a");
        fwrite($fh, $word);
        fclose($fh);
    }
}
//獲取 IP 地址
function getIP()
    {
        if (getenv('HTTP_CLIENT_IP'))
        {
            $ip = getenv('HTTP_CLIENT_IP');
        }
        else if (getenv('HTTP_X_FORWARDED_FOR'))
        {
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        }
        else if (getenv('REMOTE_ADDR'))
        {
            $ip = getenv('REMOTE_ADDR');
        }
        else
        {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }
//獲取瀏覽器資訊
 function getbrowser()
    {
        $Agent = $_SERVER['HTTP_USER_AGENT'];
        $browser = '';
        $browserver = '';

        if(ereg('Mozilla', $Agent) && ereg('Chrome', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[2];
            $temp = explode('/', $Part);
            $browserver = $temp[1];
            $temp = explode(' ', $browserver);
            $browserver = $temp[0];
            $browserver = $browserver;
            $browser = 'Chrome';
        }
        if(ereg('Mozilla', $Agent) && ereg('Firefox', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[1];
            $temp = explode('/', $Part);
            $browserver = $temp[2];
            $temp = explode(' ', $browserver);
            $browserver = $temp[0];
            $browserver = $browserver;
            $browser = 'Firefox';
        }
        if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[1];
            $temp = explode(')', $Part);
            $browserver = $temp[1];
            $temp = explode(' ', $browserver);
            $browserver = $temp[2];
            $browserver = $browserver;
            $browser = 'Opera';
        }
        if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[1];
            $temp = explode(';', $Part);
            $Part = $temp[1];
            $temp = explode(' ', $Part);
            $browserver = $temp[2];
            $browserver = $browserver;
            $browser = 'Internet Explorer';
        }
        if($browser != '')
        {
            $browseinfo = $browser.' '.$browserver;
        }
        else
        {
            $browseinfo = $_SERVER['HTTP_USER_AGENT'];
        }
        return $browseinfo;
    }

然後儲存檔案,這樣當你再次訪問網站的時候根目錄下就會生成一個 zhizhu.txt 的日誌檔案,另外這個方法還可以用來統計蜘蛛抓取痕跡 (也就是搜尋引擎蜘蛛訪問了你那些頁面) 。

示例:zhizhu.txt