其实robots.txt也不是百分之百的可以阻止蜘蛛爬行你的网站,我自己结合某些资料写了一小段代码,貌似可以彻底解决这个问题,不对的地方请大家多多指教:if(preg_match("/(Googlebot|Msnbot|YodaoBot|Sosospider|baiduspider|google|baidu|yahoo|sogou|bing|coodir|soso|youdao|zhongsou|slurp|ia_archiver|scooter|spider|webcrawler|OutfoxBot)/i", $_SERVER['HTTP_USER_AGENT']))
{ header('HTTP/1.1 403 Forbidden');
exit;
}

解决方案 »

  1.   

    这种方式能阻止的都是“友好的蜘蛛”,当然也许这些“友好的蜘蛛”并没有完全尊重 robots.txt 的指示,但它至少告诉了你“我是××蜘蛛”。如果是不友好的蜘蛛,这种判断也就失效了。
      

  2.   

    对于不友好的蜘蛛,如果一定要防范的话,可以考虑从行为特征入手,比如 request 密度、关联性等。这样虽不能百分百杜绝蜘蛛,但至少可以抵御相当一部分无效流量。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)