日期:2014-05-17  浏览次数:20753 次

关于防止网页中的查询数据被抓取
请教一个问题:
读取数据库中的内容在asp或jsp页面上显示,任何人在公网都可以查询
但是如果希望保护这些数据不被工具抓取,都有那些方法?
目前我只有一些凌散的初级方法,不知道一般比较规范的数据保护方案是怎样的?
非常感谢!

------解决方案--------------------
1.登录控制:只有登录的用户才能访问
2.访问前:需要输入验证码
3.限制访问IP,写一套规则比如每个IP单位时间只能访问多少数据。
------解决方案--------------------
引用:
关于第3条,能详细说说吗?

另外我之前看到有人讲,除非是把数据变为二进制流,客户端需要安装控件才能把二进制流转为数据,否则都是无法从跟不上防止被抓数据,不知道您是否了解这种方法?
可有类似的例子参考?

非常感谢


就是说,仅仅依靠浏览器的默认的页面渲染方式,是无法做到保护页面的,右键就能查看源代码。
以flash插件为例,你只能在页面源码里看到嵌入一个swf文件,flash的内容在浏览器端是查看不了的。
------解决方案--------------------
数据你全部用ajax动态加载的方式
------解决方案--------------------
本人抓数据已经很长时间了,因为现在工作需要,国外的目前比较好,目前国外的访抓取机制还是不错的,就是通过单位时间ip的访问量来控制抓取方,至于3楼说的flash,除非你全部用纯flash读写数据而非用flash调用其他业务url,目前都是利用falsh的load其他业务的url数据封装到flash居多,但是这种也是完全可以用技术手段抓取到你的数据的,所以完全的利用这种方法不可用,唯一就是利用ip禁止,可以写一套算法,如果再一个ip在前后一分钟多于多少次访问量来处理,多增加一些容错机制,目前国内网站我看到的好像都没有这类机制,也没必要,本来就是展示给别人看的,无所谓被爬虫,至于复杂的数据,要么转码加密传输要么在页面尽量减少少关键数据的展示率
------解决方案--------------------
其实  都是添加一些抓取的难度而已, 并没有绝对的防止抓取,

1.登录控制:只有登录的用户才能访问
2.访问前:需要输入验证码
3.限制访问IP,写一套规则比如每个IP单位时间只能访问多少数据。
4.数据你全部用ajax动态加载的方式 

1. .net 有很方便的方法 来模拟登录状态。
2. 验证码倒是很好,但是网上已经有 图片识别的工具包了,但是  图片上加一些没用的线,就会添加很大 的难度了。
3. IP并不可信。
4. 流是可以捕获和伪造的