<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[apache设置禁止爬虫(搜索引擎)抓取及若干]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 12 Jan 2011 02:13:55 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	比如开发一个apache的module，挡掉那些不起眼的爬虫。这个是最重要的！<br/>小站可以：if(stripos($_SERVER[&#039;USER_AGENT&#039;],&#039;robot&#039;)!==fales)&#123;<br/>exit;<br/>&#125;<br/>或者bot<br/>后面有其他的方法，值得去参考。<br/><br/>我们的站点被一种莫名其妙的故障所困扰(象我先前说的那样). 虽然还无法彻底找到原因所在, 但是有一个现象却很显然. <br/>那就是出问题的时候, 爬虫很多.<br/>现在做网站多了，做搜索的也多了, 自然爬虫也多了...而drupal, 自身的复杂度导致了可能访问某些地址会有极大的cpu/内存消耗, 而robot的访问显然不必要的. 虽然有自带的robots.txt, 但是随着新模块的安装，新内容的提供, 显然默认的robots.txt是不够用的. (robots.txt 见 http://www.robotstxt.org/orig.html )<br/>分析apache的access log, 发现除了google 和 百度的爬虫之外还有以下爬虫(这也是设置在robots.txt里的内容):<br/>User-agent: YRSpider<br/>Disallow: /<br/>User-agent: Sogou web spider<br/>Disallow: /<br/>User-agent: Sosospider<br/>Disallow: /<br/>User-agent: YoudaoBot<br/>Disallow: /<br/>User-agent: HuaweiSymantecSpider<br/>Disallow: / <br/>User-agent: Sosoimagespider<br/>Disallow: /<br/>(其中YRSpider, HuaweiSymantecSpider 似乎是引擎)<br/>尽管如此, 即便我设置了robots.txt, 象Sosospider依然不闻不问...无奈之下，只能直接Deny IP了...<br/>例如, 寻找Sogou web spider: <br/>[root@localhost ~]# tail -n 10000 /var/log/httpd/xxx-access_log &#124; grep &#039;Sogou web spider&#039; &#124; awk &#039;&#123; print $1 &#125;&#039; &#124; sort &#124; uniq<br/>220.181.125.67<br/>220.181.125.69<br/>220.181.125.70<br/>220.181.125.71<br/>220.181.125.72<br/>220.181.94.212<br/>220.181.94.213<br/>220.181.94.215<br/>220.181.94.219<br/>220.181.94.220<br/>220.181.94.221<br/>220.181.94.222<br/>220.181.94.225<br/>220.181.94.226<br/>220.181.94.229<br/>220.181.94.230<br/>220.181.94.231<br/>220.181.94.232<br/>220.181.94.234<br/>220.181.94.235<br/>220.181.94.236<br/>220.181.94.237<br/>但是你不可能一个个写在apache配置里面. 可以写成:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from Sogou web spider<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 220.181.125.64/29<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 220.181.94.192/26<br/>(在 Allow from all 之后)<br/>目前deny了这些:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from YRSpider<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 61.135.184.196<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 61.135.184.197<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from Sogou web spider<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 220.181.125.64/29<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 220.181.94.192/26<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from Sosospider<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 114.80.93.48/28<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 124.115.0.0/24<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 124.115.4.0/24<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from YoudaoBot<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 61.135.249.220<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from HuaweiSymantecSpider<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 112.95.147.149<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 69.28.58.39<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 69.28.58.4<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# deny from Sosoimagespider<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 124.115.3.34<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 124.115.6.0/24<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 124.115.7.15<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deny from 124.115.7.16<br/>至于ip和ip段的换算不在本文讨论范围, 不过linux(+mac)下可以方便的用echo &#124; bc来显示不同进制的数字(也许有其它方法):<br/>比如 <br/>yarco@macbook ~$ echo &#039;ibase=2;10000000&#039; &#124; bc<br/>128<br/>总之, 看起来管理服务器的主要在于经验.<br/><br/><br/>来源：http://hi.baidu.com/yarcowang/blog/item/a3637109c9e026840b7b823f.html<br/><br/>说是服务器负荷过重。我登录后一检查，发现cpu利用率一直在 90%左右徘徊，查看了一下top，是apache占用了大部分资源。经过迅速排查，发现是一个论坛客户的网站占用资源过多。上去他的论坛看了一下，在线 人数才3个，为了确认，将他的网站暂时关闭了几分钟，服务器很快就恢复正常了。检查一下log，发现是一个深圳的IP在疯狂的访问论坛导致的，将此IP用 iptables封掉，恢复此论坛，服务器也没事。本来事情到此就算完了。但是我发现此捣乱的IP是深圳市的adsl，然后使用的是某个软件，user agent是固定的，于是改了一下apache的配置文件，防止其他人用同样的软件来捣乱。<br/> 原来此论坛的目录设置如此： <br/><br/>DocumentRoot /var/www/xxxxx<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Directory &quot;/var/www/xxxxx&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order allow,deny<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow from all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Directory&gt;<br/><br/>加多两行就可以了<br/>DocumentRoot /var/www/xxxxx<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Directory &quot;/var/www/xxxxx&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetEnvIfNoCase User-Agent &quot;badguy&quot; getout<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order allow,deny<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow from all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deny from env=getout<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Directory&gt;<br/>badguy是捣乱者的user agent含有的字符，按具体情况修改，可以添加多行 SetEnvIfNoCase User-Agent &quot;badguy&quot; getout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>来源：http://www.rosoo.net/a/201003/8783.html<br/><br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] apache设置禁止爬虫(搜索引擎)抓取及若干]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>