网站日志分析与检测

 网站日志分析与检测 

网站日志分析是做SEO、做运营、做产品、甚至做编辑都必须要掌握的技能,网站日志分析可以帮助我们发现用户行为,搜索引擎抓取规律等,是绝好的网站分析方法。

但是网站日志是一大堆代码,初学者不知道从哪里入手,今天正好遇到了一件事情,就是要从目前负责的”活动家“网站日志中分析订单来源的工作,于是就跟大家分享一些网站日志分析的初级入门技巧。

分析网站日志的作用?

1、我们可以比较准确的定位搜索引擎蜘蛛来爬行我们网站的次数,可以屏蔽伪蜘蛛(此类蜘蛛多以采集为主,会增加我们服务器的开销),常见的正规搜索引擎蜘蛛有:

Google蜘蛛

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Baidu蜘蛛

Baiduspider+(+http://www.baidu.com/search/spider.htm)

Yahoo!蜘蛛

Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)

Yahoo!中国蜘蛛

Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)

微软Bing蜘蛛

msnbot/2.0b (+http://search.msn.com/msnbot.htm)

Google Adsense蜘蛛

Mediapartners-Google

有道蜘蛛

Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )

Soso搜搜博客蜘蛛

Sosoblogspider+(+http://help.soso.com/soso-blog-spider.htm)

Sogou搜狗蜘蛛

Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)

Twiceler爬虫程序

Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)’

Google图片搜索蜘蛛

Googlebot-Image/1.0

Alexa蜘蛛

ia_archiver (+http://www.alexa.com/site/help/webmasters; crawler@alexa.com)

2、通过分析网站日志,我们可以准确定位搜索引擎蜘蛛爬行的页面以及时间长短,我们可以依次有针对性的对我们的网站进行微调。

3、http返回状态码,搜索引擎蜘蛛以及用户每访问我们的网站一次,服务器端都会产生类似301,404,200的状态吗,我们可以参照此类信息,对我们出现问题的网站进行简单的诊断,及时处理问题。

如何找到网站日志文件?

查看日志之前首先是需要将网站日志下载下来。现在一般虚拟空间商都会提供“访问日志下载”这一功能,如果你是独立主机的话,就直接去IIS或者apache中查看日志存放的位置,然后下载你需要查看的那些日志。

一般当天的网站日志会在隔天生成,等隔天的时候在直接登录上你再用flashfxp软件登录上你的ftp里面,打开“log”文件夹,文件夹里面就有你想要的网站服务器日志。

如何打开网站日志?

网站日志下载下来是一个文本文档 (.log),你可以用文档直接打开,改成.txt后缀可以直接用记事本打开网站日志。

打开了日志以后如何查看?

我们从日志表面可以得到的信息有:访客IP、访问时间、访问页面、访问状态码、耗费流量、访问来源、访客属性等。下面以“活动家www.huodongjia.com”这个网站的一条网站日志来举例说明:

111.206.199.63 – - [12/Jan/2015:01:15:12 +0800] “GET /event-211709.html HTTP/1.1″ 200 11358 “http://www.huodongjia.com/search/?keyword=%E9%A9%AC%E6%8B%89%E6%9D%BE” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36″ – “0.054″

111.206.199.63 表示访客IP。

[12/Jan/2015:01:15:12 +0800] 表示访客到访的时间。

/event-211709.html 表示所访问的网页。

200 表示访问返回的状态码,这里的200表示正常访问。

11358 表示访问这个页面所耗费的流量。

http://www.huodongjia.com/search/?keyword=%E9%A9%AC%E6%8B%89%E6%9D%BE 表示访客是从这个页面进入到当前页面的。

最后那一坨,表示访客的属性,包括浏览器、操作系统等信息。

分析网站日志要关注哪些方面?

1、注意那些被频繁访问的资源

如果在日志中,你发现某个资源(网页、图片和mp3等)被人频繁访问,那你应该注意该资源被用于何处了!如果这些请求的来源(Referer)不是你的网站或者为空,且状态码(Http Code)为200,说明你的这些资源很可能被人盗链了,通过 Referer 你可以查出盗链者的网址,这可能就是你的网站流量暴增的原因,你应该做好防盗链了。请看下图,我网站上的japan.mp3这个文件就被人频繁的访问了,下图还只是日志的一部分,这人极其险恶,由于我早已将该文件删除,它迟迟要不到japan.mp3,在短短一个小时内对japan.mp3发起了不下百次的请求,见我设置了防盗链就伪造来源Referer和Agent,还不断地更换IP,很可惜它做得都是无用功,根本没有这个文件,请求的状态码Http Code都是403或者404。

2、注意那些你网站上不存在资源的请求

如果某些请求信息不是本站的资源,Http Code不是403就是404,但从名称分析,可能是保存数据库信息的文件,如果这些信息让别人拿走,那么攻击你的网站就轻松多了。发起这些请求的目的无非就是扫描你的网站漏洞,通过漫无目的地扫描下载这些已知的漏洞文件,很可能会发现你的网站某个漏洞哦!通过观察,可以发现,这些请求所使用的Agent差不多都是Mozilla/4.0、Mozilla/5.0或者libwww-perl/等等非常规的浏览器类型,以上我提供的日志格式化工具已经集成了对这些请求的警报功能。我们可以通过禁止这些Agent的访问,来达到防止被扫描的目的,具体方法下面再介绍。

3、观察搜索引擎蜘蛛的来访情况

通过观察日志中的信息,你可以看出你的网站被蜘蛛访问的频率,进而可以看出你的网站是否被搜索引擎青睐,这些都是SEO所关心的问题吧。日志格式化工具已经集成了对搜索引擎蜘蛛的提示功能。

4、观察访客行为

通过查看格式化后的日志,可以查看跟踪某个IP在某个时间段的一系列访问行为,单个IP的访问记录越多,说明你的网站PV高,用户粘性好;如果单个IP的访问记录希希,你应该考虑如何将你的网站内容做得更加吸引人了。通过分析访客的行为,可以为你的网站建设提供有力的参考,哪些内容好,哪些内容不好,确定网站的发展方向;通过分析访客的行为,看看他们都干了些什么事,可以揣测访客的用意,及时揪出恶意用户。

分析网站日志后发现了问题怎么办?

上面说了如何分析你的日志,下面我们来讲讲如何御敌于前千里之外。我们这里以Linux主机的.htaccess编写为例来讲解如何防范恶意请求。

1、封杀某个IP

如果你不想让某个IP来访问你的网站,可以将其封杀。封杀防范有二:其一,在cPanel面板中有个Security – IP Deny Manager,点击进去填上要封杀的IP即可;其二,在.htaccess中加入以下语句,即可封杀这两个IP 123.165.54.14、123.165.54.15,以及123.165.55这个IP段,多个同理:

deny from 123.165.54.14

deny from 123.165.54.15

deny from 123.165.55

2、封杀某个浏览器类型(Agent)

通常情况下,如果是使用机器人来扫描或者恶意下载你的网站资源,它们使用的Agent差不多都是一个类型,例如我上面所说的Mozilla/4.0、Mozilla/5.0或者libwww-perl/等。你可以封杀某个Agent,来达到防范攻击的目的。在.htaccess中添加以下规则:

SetEnvIfNoCase User-Agent “.Firefox/3.6.3.” bad_agent

Order Allow,Deny

Allow from all

Deny from env=bad_agent


以上规则封杀了Agent中含有Firefox/3.6.3的来源,也就是包括以下例子的Agent将无法访问你的网站:

Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3

以上只是个例子,切不可用于你的网站,否则使用Firefox 3.6.3的用户就不可以访问你的网站了,访问结果Http Code都是403,他们看到都是403页面,也就是禁止访问页面。这里让我来教你如何编写封杀的规则,以上语句SetEnvIfNoCase User-Agent “.Firefox/3.6.3.” bad_agent指定了要封杀的规则,核心语句”.Firefox/3.6.3.” 用于匹配含有 Firefox/3.6.3 的来源,写法见正则表达式的写法。

下面是一个完整例子,你可以套用,相信你也可以写出自己的规则:

Block Bad Bots by user-Agent

SetEnvIfNoCase User-Agent “^libwww-perl” bad_agent

SetEnvIfNoCase User-Agent “^Mozilla/4.0$” bad_agent

SetEnvIfNoCase User-Agent “^Mozilla/5.0$” bad_agent

SetEnvIfNoCase User-Agent “^$” bad_bot

Order Allow,Deny

Allow from all

Deny from env=bad_bot


3、封杀某个来源(Referer)

如果某个网站频繁地对你网站进行盗链,且不听劝,那你可以通过禁止它的Referer,来达到防盗链目的,下面举个例子来禁止http://www.google.com这个网站对你网站的盗链,正则的编写跟上面的无异,在.htaccess中添加以下规则:

SetEnvIf Referer “^http://www.google.com” bad_referer

Order Allow,Deny

Allow from all

Deny from env=bad_referer


4、防盗链

通过对来源(Referer)的判断,使用以下代码可以达到简单的防盗链。以下列出的网址,允许访问你网站上后缀名为jpg|gif|png|css|js|bmp|mp3|wma|swf的文件,其余网站全部禁止访问这些文件,正则的写法与上面说的相同,你可以将其中的域名稍作更改,然后应用于你的网站,在.htaccess中添加以下规则:

SetEnvIf Referer “^http://www.ludou.org/” local_referer

SetEnvIf Referer “^http://cache.baidu.com/” local_referer

将以下语句中的 # 去除,即可允许Referer为空的请求,一般设置允许为好

SetEnvIf Referer “^$” local_referer

Order Deny,Allow

Deny from all

Allow from env=local_referer


5、文件重命名

即使你网站上的资源被人盗链了,通过文件重命名,同样可以达到防盗链的目的,毕竟盗链者不知道你改了文件名,它也不会整天监视你的文件。

这里建议新手站长,刚开始尽量不要使用智能化的网站日志分析工具,因为这样你会变懒...一些基本的东西你都不理解,不知道能从网站日志中得到哪些东西。这是做网站最基本的知识,请站长们牢记。

欢迎转载,转载时请您以链接形式注明来源! 本文地址:http://www.seobn.com/48.html
上一篇:全面分析竞争对手的网站
下一篇:网站SEO优化方案如何写