著录项信息
专利名称 | 一种页面验证码处理的方法、装置及终端 |
申请号 | CN201010549158.6 | 申请日期 | 2010-11-18 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-05-23 | 公开/公告号 | CN102469091A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 金蝶软件(中国)有限公司 | 申请人地址 | 广东省深圳市南山区深南大道市高新技术工业村W1-B4
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 金蝶软件(中国)有限公司 | 当前权利人 | 金蝶软件(中国)有限公司 |
发明人 | 曾雷;刘虹;谭奇军 |
代理机构 | 深圳中一专利商标事务所 | 代理人 | 张全文 |
摘要
本发明适用于信息处理领域,提供了一种页面验证码处理的方法、装置及终端,所述方法包括下述步骤:接收用户输入的验证码值,并将所述验证码值发送给服务端;接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与预存储在cookie中的验证码值进行比较;接收验证码值比较结果相同的用户提交表单数据的请求。本发明通过将页面程序生成的验证码值经服务端加密后存入客户端的cookie中,校验时将用户输入的验证码值与客户端cookie中的验证码值进行比较,减轻了服务端的处理压力,提高了验证码校验的效率。
1.一种页面验证码处理的方法,其特征在于,所述方法包括下述步骤:
接收用户输入的验证码值,并将所述验证码值发送给服务端;
接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与预存储在cookie中的验证码值进行比较;
判断与cookie中存储的验证码值比较结果相同的验证码值当前时间与验证码使用记录表中该验证码记录的最后更新时间差是否大于预设时间;如果大于预设时间,则接收用户提交表单数据的请求,同时更新验证码使用记录表;如果小于或者等于预设时间,则拒绝用户提交表单数据的请求。
2.如权利要求1所述的方法,其特征在于,所述方法进一步包括下述步骤:
拒绝验证码值比较结果不相同的用户提交表单数据的请求,同时刷新页面,等待用户重新输入验证码。
3.如权利要求1所述的方法,其特征在于,在所述接收用户输入的验证码值步骤前还包括存储页面生成的验证码值。
4.如权利要求3所述的方法,其特征在于,所述存储页面生成的验证码值的步骤具体为:
接收用户访问带有验证码的页面请求,并将所述请求发送给服务端;
接收服务端根据所述页面请求获取的对应验证码信息,所述信息为服务端加密后的信息,所述加密后的信息包括cookie标识符、验证码值和私人密钥;
将加密后的cookie标识符、验证码值和私人密钥存储至客户端cookie中。
5.一种页面验证码处理装置,其特征在于,所述装置包括:
验证码值接收单元,用于接收用户输入的验证码值,并将所述验证码值发送给服务端;
验证码值比较单元,用于接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与预存储在cookie中的验证码值进行比较;
验证码值使用判断单元,用于判断与cookie中存储的验证码值比较结果相同的验证码值当前时间与验证码使用记录表中该验证码记录的最后更新时间差是否大于预设时间;
如果大于预设时间,则接收用户提交表单数据的请求,同时更新验证码使用记录表;如果小于或者等于预设时间,则拒绝用户提交表单数据的请求。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
提交请求拒绝单元,用于拒绝验证码值比较结果不相同的用户提交表单数据的请求;
验证码值存储单元,用于存储页面生成的验证码值。
7.如权利要求6所述的装置,其特征在于,所述验证码值存储单元还包括:
页面请求接收模块,用于接收用户访问带有验证码的页面请求,并将所述请求发送给服务端;
验证码值获取模块,用于接收服务端根据所述页面请求获取的对应验证码信息,所述信息为服务端加密后的信息,所述加密后的信息包括cookie标识符、验证码值和私人密钥;
验证码值存储模块,用于将加密后的cookie标识符、验证码值和私人密钥存储至客户端cookie中。
8.一种包含权利要求5所述的页面验证码处理装置的终端。
一种页面验证码处理的方法、装置及终端\n技术领域\n[0001] 本发明属于信息处理领域,尤其涉及一种页面验证码处理的方法、装置及终端。\n背景技术\n[0002] 随着信息技术的发展,网络给用户提供了一种方便的信息交互平台。网络用户在获取信息时,会有用户注册或者登录页面的需求,用户在注册或者登录页面时,需要提交大量的表单数据,为防止用户重复提交或者恶意提交这些数据,常使用图片验证码进行校验。\n[0003] 当用户在访问带验证码的页面时,现有技术通过页面程序生成图片验证码值并将其存入服务端会话(session)中,用户在提交表单数据时,将输入的验证码值与服务端session中存储的验证码值进行比较,通过后再提交表单数据。现有技术将验证码值存入服务端的session中,并在服务端的session中进行验证码验证,当提交表单数据的用户较多时,例如:公务员网上报考等,会严重影响服务端处理性能,造成用户注册或者提交数据失败等。\n发明内容\n[0004] 本发明实施例的目的在于提供一种页面验证码处理的方法,旨在解决现有技术中将大量的验证码信息存储在服务端的会话中进行处理,造成服务端处理性能下降的问题。\n[0005] 本发明实施例是这样实现的,一种页面验证码处理的方法,所述方法包括下述步骤:\n[0006] 接收用户输入的验证码值,并将所述验证码值发送给服务端;\n[0007] 接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与预存储在cookie中的验证码值进行比较;\n[0008] 接收验证码值比较结果相同的用户提交表单数据的请求。\n[0009] 本发明实施例的另一目的在于提供一种页面验证码提交装置,所述装置包括:\n[0010] 验证码值接收单元,用于接收用户输入的验证码值,并将所述验证码值发送给服务端;\n[0011] 验证码值比较单元,用于接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与预存储在cookie中的验证码值进行比较;\n[0012] 提交请求接收单元,用于接收验证码值比较结果相同的用户提交表单数据的请求。\n[0013] 本发明实施例的另一目的在于提供一种包含上述页面验证码提交装置的终端。\n[0014] 在本发明实施例中,将页面程序生成的验证码值经服务端加密后存入客户端的cookie中,校验时将用户输入的验证码值与客户端cookie中的验证码值进行比较,减轻了服务端的处理压力,提高了验证码校验的效率。\n附图说明\n[0015] 图1是本发明实施例一提供的页面验证码处理方法的实现流程图;\n[0016] 图2是本发明实施例二提供的页面验证码处理方法的实现流程图;\n[0017] 图3是本发明实施例三提供的存储页面生成的验证码值的具体流程图;\n[0018] 图4是本发明实施例四提供的页面验证码处理装置的结构框图。\n具体实施方式\n[0019] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0020] 本发明实施例通过将页面程序生成的验证码值经服务端加密后存入客户端的cookie中,校验时将用户输入的验证码值与客户端cookie中的验证码值进行比较,减轻了服务端的处理压力,提高了验证码校验的效率。\n[0021] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。\n[0022] 实施例一:\n[0023] 图1示出了本发明实施例一提供的页面验证码处理方法的实现流程,该方法通过将页面程序生成的验证码值经服务端加密后存入客户端的cookie中,校验时将用户输入的验证码值与客户端cookie中的验证码值进行比较,减轻了服务端的处理压力,提高了验证码校验的效率,该方法过程详述如下:\n[0024] 在步骤S101中,接收用户输入的验证码值,并将所述验证码值发送给服务端。\n[0025] 在本发明实施例中,页面的图片验证码值是通过后台页面程序(例如:actionch程序等)生成后返回显示在当前页面上,客户端接收用户输入的所述图片验证码值后,将所述图片验证码值发送给服务端。\n[0026] 在步骤S102中,接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与预存储在cookie中的验证码值进行比较。\n[0027] 在本实施例中,服务端在接受客户端发送过来的验证码值的同时,还获取到客户端cookie的标识符,所述标识符是根据客户端访问服务端的时间生成的一个字符串,时间精确到毫秒以保证唯一性。服务端对接收到的验证码值和获取的客户端cookie标识符进行加密,以防止正常数据提交时,在短时间内出现生成重复的验证码导致校验不通过。加密算法包括但不局限于MD5算法。服务端将加密后的验证码值和客户端cookie标识符发送给客户端,客户端将加密后的验证码值与预先存储在客户端cookie中的验证码值进行比较,预先在客户端cookie中存储页面产生的验证码值的具体过程如图3所示。\n[0028] 在步骤S103中,判断所述比较结果是否相同。是则执行步骤S105,否则执行步骤S104。\n[0029] 在本发明实施例中,客户端将加密后的验证码值与预先存储在客户端cookie中的验证码值进行比较,如果比较结果相同,则说明验证码值输入正确,接收用户提交表单数据的请求,如果比较结果不同,则说明验证码值输入错误,拒绝用户提交表单数据的请求,并刷新页面,等待用户重新输入验证码值。\n[0030] 在步骤S104中,拒绝用户提交表单数据的请求,并刷新页面,等待用户重新输入验证码值。\n[0031] 在步骤S105中,接收用户提交表单数据的请求。\n[0032] 实施例二:\n[0033] 图2示出了本发明实施例二提供的页面验证码处理方法的实现流程,本实施例在第一实施例的基础上增加了步骤S205和步骤S206。\n[0034] 在步骤S205中,查询验证码使用记录表,将所述验证码值的当前时间与验证码使用记录表中该验证码记录的最后更新时间对比。\n[0035] 在本实施例中,验证码使用记录表用于记录每个验证码的使用时间,由系统自动生成,并设置好定时清理验证码使用记录表时间,以保证验证码使用记录表的数据量不会很大,影响系统性能。验证码使用记录表中对每个查询字段建立索引,能够快速搜索到当前使用的验证码值,然后可将当前验证码值的时间与记录表中该验证码记录的最后更新时间对比,如果所述验证码使用记录表中不存在当前验证码值,则默认时间为0。\n[0036] 在步骤S206中,判断所述验证码值的当前时间与验证码使用记录表中该验证码记录的最后更新时间差是否大于预设时间,如果判断结果为“是”,则执行步骤S207,否则执行步骤S208。\n[0037] 在本实施例中,将所述验证码值的当前时间与验证码使用记录表中该验证码记录的最后更新时间对比,如果大于预设时间(由服务器自行设定),则接收用户提交表单数据的请求,同时更新验证码使用记录表;如果小于或者等于预设时间,则拒绝用户提交表单数据的请求。\n[0038] 在步骤S207中,接收用户提交表单数据的请求,同时更新验证码使用记录表。\n[0039] 在步骤S208中,拒绝用户提交表单数据的请求。\n[0040] 在本实施例中,通过建立验证码使用记录表,将所述验证码值的当前时间与验证码使用记录表中该验证码记录的最后更新时间对比,对对比时间小于或者等于预设时间的验证码值,拒绝该用户表单数据提交的请求,可有效防止用户重复提交或者恶意提交。\n[0041] 实施例三:\n[0042] 图3示出了本发明实施例三的存储页面生成的验证码值的具体流程,本实施例通过将服务端产生的验证码值存储在客户端的cookie中,校验时直接与客户端cookie中的验证码值进行比较,可有效提高验证码校验的效率。验证码值生成与存储的具体过程如下:\n[0043] 在步骤S301中,接收用户访问带有验证码的页面请求,并将所述请求发送给服务端。\n[0044] 在步骤S302中,接收服务端根据所述请求获取的对应验证码信息,所述信息为服务端加密后的信息,所述加密后的信息包括cookie标识符、验证码值和私人密钥。\n[0045] 在本实施例中,服务端接收用户访问带有验证码的页面请求后,调用后台页面程序(例如:actionch程序等)生成对应页面的图片验证码,同时获取客户端cookie的标识符,所述标识符是根据客户端访问服务端的时间生成的一个字符串,时间精确到毫秒以保证唯一性,同时由系统自动生成一个私人密钥(PrivateKey),存储在服务端后台,防止恶意用户暴力获取验证码值。为了防止正常数据提交时,在短时间内出现生成重复的验证码导致校验不通,通过加密算法对cookie标识符、验证码值和私人密钥进行加密,加密算法包括但不局限于MD5,将加密后的cookie标识符、验证码值和私人密钥发送给客户端。\n[0046] 在步骤S303中,将加密后的cookie标识符、验证码值和私人密钥存储至客户端cookie中。\n[0047] 在本发明实施例中,将加密后的cookie标识符、验证码值和私人密钥存储至客户端cookie中,校验时直接与客户端cookie中的验证码值进行比较,可有效提高验证码校验的效率。\n[0048] 实施例四:\n[0049] 图4示出了本发明实施例四提供的一种页面验证码处理装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。\n[0050] 该页面验证码处理装置可以用于通过有线或者无线网络连接服务器的各种信息处理终端,例如移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,该页面验证码处理装置包括验证码值接收单元41、验证码值比较单元42、验证码值存储单元43、提交请求接收单元44和提交请求拒绝单元45。其中:\n[0051] 验证码值接收单元41接收用户输入的验证码值,并将所述验证码值发送给服务端。\n[0052] 验证码值比较单元42接收服务端对所述验证码值加密处理后的值,并将所述加密后的值与验证码值存储单元43中存储的验证码值进行比较,其中验证码值存储单元43包括页面请求接收模块431、验证码值获取模块432以及验证码值存储模块433。\n[0053] 页面请求接收模块431,用于接收用户访问带有验证码的页面请求,并将所述请求发送给服务端。\n[0054] 验证码值获取模块432,用于接收服务端根据页面请求接收模块431获取的对应验证码信息,所述信息为服务端加密后的信息,所述加密后的信息包括cookie标识符、验证码值和私人密钥。\n[0055] 验证码值存储模块433,用于将加密后的cookie标识符、验证码值和私人密钥存储至客户端cookie中。\n[0056] 验证码值比较单元42比较后,如果比较结果相同,则说明验证码值输入正确,则提交请求接收单元44接收用户提交表单数据的请求。如果比较结果不同,则说明验证码值输入错误,提交请求拒绝单元45拒绝用户提交表单数据的请求,并刷新页面,等待用户重新输入验证码值。\n[0057] 在实施例中,该页面验证码处理装置还包括验证码使用判断单元46,用于判断与cookie中存储的验证码值比较结果相同的验证码值当前时间与验证码使用记录表中该验证码记录的最后更新时间差是否大于预设时间,如果大于预设时间(由服务器自行设定),则提交请求接收单元44接收用户提交表单数据的请求,同时更新验证码使用记录表。如果小于或者等于预设时间,则提交请求拒绝单元45拒绝用户提交表单数据的请求。\n[0058] 在本发明实施例中,将页面程序生成的验证码值经服务端加密后存入客户端的cookie中,校验时将用户输入的验证码值与客户端cookie中的验证码值进行比较,减轻了服务端的处理压力,提高了验证码校验的效率,同时,通过建立验证码使用记录表,将所述验证码值的当前时间与验证码使用记录表中该验证码记录的最后更新时间对比,对对比时间小于或者等于预设时间的验证码值,拒绝该用户表单数据提交的请求,可有效防止用户重复提交或者恶意提交。\n[0059] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2022-12-30
专利权的转移
登记生效日: 2022.12.19
专利权人由上海管易云计算软件有限公司变更为金蝶软件(中国)有限公司
地址由201900 上海市宝山区泰和路2038号二幢136室变更为518000 广东省深圳市南山区科技园科技南十二路2号金蝶软件园A座1-8层
- 2022-01-14
专利权的转移
登记生效日: 2021.12.31
专利权人由金蝶软件(中国)有限公司变更为上海管易云计算软件有限公司
地址由518000 广东省深圳市南山区深南大道市高新技术工业村W1-B4变更为201900 上海市宝山区泰和路2038号二幢136室
- 2014-12-10
- 2012-07-04
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201010549158.6
申请日: 2010.11.18
- 2012-05-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-09-08
|
2010-04-30
| | |
2
| |
2006-10-11
|
2005-04-06
| | |
3
| |
2007-10-03
|
2006-03-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |