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