让WordPress自动生成网站访问日志

绝大多数的主机空间都提供原始访问日志(Raw Access Log),网站服务器会把每一个访客来访时的一些信息自动记录下来,保存在原始访问日志文件中,如果你的主机不提供日志功能又或者不想每次都要登录主机后台查询,不放尝试耕博推荐的这个方法:让Wordpress自动生成网站访问日志。

简单,直接打开当前题下的function.php文件,添加以下代码即可:

make_log_file();
function make_log_file(){
 //log文件名
 $filename = 'mylogs.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 .= getbrowser(). " ";
 //传递参数
 $word .= "[". $_SERVER['QUERY_STRING'] . "] ";
 //跳转地址
 $word .= $_SERVER['HTTP_REFERER'] . " ";
 //获取IP
 $word .= getIP() . " ";
 $word .= "n";
 $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;
 }

添加完成之后,在你的站点根目录上就会生成mylogs.txt文件,你通过http://你的域名/mylogs.txt,点击可以直接访问。这种日志要比chinaz这种统计工具生成的日志精准的多,你可以通过日志得知哪些人访问哪些文件,哪些蜘蛛爬行过。如果你的网站遭到了攻击、非法盗链和不良请求等,通过分析原始访问日志能还能大概分析出端倪来。

展开评论