昨天在网上看到一个防采集软件,说采集只访问当前网页,不会访问网页的图片、JS等,今天突然想到,通过动态程序和Js访问分别记录访问者的IP,然后进行IP判断,由于采集过程不会访问JS,采集的时候只会查到用动态程序记录的IP,而不会有通过JS记录的IP,从而实现网页程序的防采集。
防采集的原理非常简单,首先放一段动态语句,把访问者的IP加入到数据库的一个表里,然后在页面底部加入一个JS,JS直接访问动态页面,将访问者的IP加入到数据库的另外一个表里。再次访问的时候,从两个表里读IP数据,然后判断时间差,如果只在第一个表里找到,在第二个表里找不到,或者时间差超过10秒,则认为是采集。
优点
1.部署简单,只要是动态语言就能很容易的实现,无需借助服务器端程序
2.杀伤力大,几乎能封杀所有的采集过程
缺点
1.第一个缺点还是杀伤力大,如果需要实际使用需要考虑一些特殊情况,以免误杀已经杀掉搜索爬虫
2.只适用于动态网页,静态页面就没法用了
流程写的比较乱,不过原理本身就不是很复杂,下面附上程序例子,懂ASP的应该很快就能看懂。
程序例子(ASP+ACCESS)(测试程序下载):
1.建立数据库
表1:Ip1,字段Ip1_Adderss(文本),Ip1_Time(日期/时间,默认值=Now())
表2:Ip2,字段Ip2_Adderss(文本),Ip2_Time(日期/时间,默认值=Now())
2.Index.asp(仅动态代码,全部代码请见测试程序中)
前言 我们在使用ajax异步的提交多选框得到需要操作的对象的id,这时我们可以把每...
文章目录 关系数据库 关系数据库简介 关系数据结构及形式化定义 关系 关系模式 ...
六、XML展望 任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不...
微软官方博客于 2 月初再次发布提示,将会在 3 月 9 日停止对经典版 Edge 浏览器...
下面是ajax代码和Controller层代码,期初以为是后台程序写错了。 $("#sourcefile...
struts json 类型异常返回到js弹框问题解决办法 当struts 框架配置了异常时 例如...
本文转载自微信公众号「程序员历小冰」,转载本文请联系程序员历小冰公众号。 疫...
在 2021 年,人们喜欢 Linux 的理由比以往任何时候都多。在这个系列中,我将分享...
背景 该问题来自某客户,据描述,他们在部署 MySQL 主从复制时,有时候仅在主库...
php实现微信支付 微信支付文档地址: https://pay.weixin.qq.com/wiki/doc/api/i...