[发明专利]一种抗破解的验证码实现方法及装置有效
申请号: | 201711011838.0 | 申请日: | 2017-10-26 |
公开(公告)号: | CN107819748B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 张晓科;杜威;肖东爽 | 申请(专利权)人: | 北京顶象技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/06;G06F21/32 |
代理公司: | 北京云科知识产权代理事务所(特殊普通合伙) 11483 | 代理人: | 张飙 |
地址: | 100089 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 破解 验证 实现 方法 装置 | ||
1.一种抗破解的验证码实现方法,其特征在于,包括以下步骤:
步骤1、初始化数据采集阶段,客户端页面加载后,向验证服务端发出一个数据采集请求,请求会带上采集的多维度数据信息;验证服务端接收多维度数据信息,用hash算法生成信息摘要,即生成唯一的初始标示串,并给客户端响应一个会话id,同时在验证服务端保存这个会话id和初始标示串的映射关系;
步骤2、验证数据采集阶段,客户端采集验证码交互过程中所需要的数据,同时采集和步骤1相同的多维度数据信息;客户端将采集的验证交互数据和步骤1相同的多维度数据信息,再带上步骤1返回的会话id一起再次请求到验证服务端;
步骤3、验证结果判断阶段,验证服务端用和步骤1相同的hash算法对步骤2采集的多维度数据信息进行信息摘要计算,生成验证标示串;然后取出步骤2验证请求中带上的会话id,根据会话id与标示串映射关系取出初始标示串,对比验证标示串和初始标示串是否一致,不一致说明验证码数据源不可靠;
其中,验证服务端会根据采集上来的多维度数据通过规则来保证生成信息摘要的稳定性和唯一性,初始化采集阶段,数据采集请求的响应结果里包含sessionId或一个会话id的标示值,会话id和标示串做映射,通过这个会话id可以找到标示串;
sessionid是一个会话的key,浏览器第一次访问服务器会在服务器端生成一个session,有一个sessionid和它对应;网页的请求响应是通过session来识别同一个会话,Session对象存储特定用户会话所需的属性及配置信息;当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去;当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象;当会话过期或被放弃后,服务器将终止该会话;
并且,标示串的生成实现:客户端采集上来的数据可以不在验证服务端做信息摘要,可以上传到其他系统来做信息摘要,并将摘要的信息保存下来;
采集验证所需数据后提交服务器的实现:标示串既可以跟随采集的数据按照一种加密方式一起上传到验证服务端,也可以不上传标示串,改为上传其他的标示,只要能映射到第一步返回的标示串即可。
2.如权利要求1所述的一种抗破解的验证码实现方法,其特征在于:所述采集的多维度数据信息包含但不限于设备信息、浏览器通用信息、浏览器能力信息、用户信息、设备指纹信息、插件信息、自定义信息。
3.如权利要求1所述的一种抗破解的验证码实现方法,其特征在于:所述多维度数据信息通过以下方式采集:通过JS或者Flash调用浏览器/系统API获取信息,通过JS的API来判断客户端能力,通过某些自定义算法计算特征。
4.如权利要求1所述的一种抗破解的验证码实现方法,其特征在于:所述hash算法包括但不限于MD2算法、MD4算法、MD5算法、SHA-1算法、SHA-224算法、SHA-256算法、SHA-384算法和SHA-512算法。
5.如权利要求1所述的一种抗破解的验证码实现方法,其特征在于:所述生成的信息摘要,即生成唯一的标示串,在数据库或内存或文件系统里进行存储,用来标示一个请求源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京顶象技术有限公司,未经北京顶象技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711011838.0/1.html,转载请声明来源钻瓜专利网。