如何防止我的asp.net 3.5网站被我的竞争对手屏蔽掉?
理想情况下,我想确保没有webbots或screenscrapers可以从我的网站提取数据.
理想情况下,我想确保没有webbots或screenscrapers可以从我的网站提取数据.
有没有办法检测到有一个webbot或屏幕刮板运行?
解决方法
可以尝试检测屏幕刮刀:
使用cookies和计时,这将使那些开箱即用的屏幕刮刀更难.还要检查javascript支持,大多数刮刀都没有.检查Meta浏览器数据以确认它确实是一个Web浏览器.
您还可以在一分钟内检查请求,驱动浏览器的用户每分钟只能发出少量请求,因此服务器上每分钟检测到过多请求的逻辑可能会假定正在进行屏幕抓取并阻止访问一段时间内违规的IP地址.如果这开始影响爬网程序,请记录被阻止的用户IP,并根据需要开始允许其IP.
您也可以使用http://www.copyscape.com/来监控您的内容,这至少会告诉您谁在重复使用您的数据.
也看到这个问题:
Protection from screen scraping
另外看看
关于屏幕抓取的好文档:
如何防止屏幕抓取:
http://mvark.blogspot.com/2007/02/how-to-prevent-screen-scraping.html