很久以来网站都会关注一个问题:我的网站怎样才能被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
不过这些都只对君子而也,如若小人,被抓都是不可避免的。
但是今天发现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
不过这些都只对君子而也,如若小人,被抓都是不可避免的。