很久以来网站都会关注一个问题:我的网站怎样才能被baidu或google抓取,都希望能够有尽可能多的被抓去,增大网站的访问量。
但是今天发现baidu的一个关键字搜索后竟然能够抓取到某些后台相关信息,极大地泄露了用户的信息,这样也许就关系到搜索引擎行业的职业道德问题了,同样用google就没有搜索出来(且不管它对中文搜索能力如何),搜索引擎这把“双刃剑”,在给人们带来方便的同时,是否也带来了也写“搜索道德”上的思考?作为一名web程序员,我立刻搜索了(呵呵,我这搜索可是正当地^_^)下尽量防止被“蜘蛛乱爬”的方法,但都不是绝对的。
php方法(对于有些不希望被突然抓取的页面):
1)分析   USER   AGENT   参数来防止.  
  用file_get_content()时,   $_SERVER["HTTP_USER_AGENT"]为空.  
  baidu   的   $_SERVER["HTTP_USER_AGENT"]   ==   Baiduspider+(+http://www.baidu.com/search/spider.htm)  
  google   的为   Googlebot/2.1   (+http://www.google.com/bot.html)   
 
2)在页面中加个SESSION标识,检测来源页面(正常情况下应该是你的网站,抓取的话就是空了)或在SESSION里记录访问时间。如果连续打开网页时间间隔太快。   就认为是被恶意抓取了。   就可以出   403   或者   ban   ip
3)根据baidu的 http://www.baidu.com/search/spider.htm  提示不让baidu抓取,同样google就访问
http://www.google.com/bot.html

不过这些都只对君子而也,如若小人,被抓都是不可避免的。

posted on 2007-12-06 10:30  林宁  阅读(364)  评论(0编辑  收藏  举报