[发明专利]表单验证方法、装置和系统有效
申请号: | 201210059741.8 | 申请日: | 2012-03-08 |
公开(公告)号: | CN103312664B | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 林锦成;阳鹤翔 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 逯长明 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 表单 验证 方法 装置 系统 | ||
技术领域
本申请涉及网络技术领域,特别涉及一种表单验证方法、装置和系统。
背景技术
表单是客户端与服务器,如web网页浏览器与web服务器之间进行数据交互的重要手段之一,其在客户端中负责数据采集。
表单通常包括表单域和表单按钮等组件,其中表单域由输入框,例如文本框和密码框等组成。为了数据传输的安全性,表单生成的同时还会生成预设名称的表单隐藏域,表单隐藏域为表单中不可见的元素,在表单提交时,即可将隐藏域的数值信息按照所设置好的名称发送至服务器。
在实际应用中,客户端接收到用户的获取表单请求时,生成表单,用户即可在表单输入框中填写数据,填写完成后通过表单按钮触发客户端将表单提交至服务器,服务器即可对表单数据进行处理。但是根据现有的这种表单应用的工作方式,服务器无法从提交的表单数据中判断出表单的填写者是否为真实的用户。因此,很多用户可以绕过表单的人工填写步骤,通过自动填写工具或者专门的机器人等自动填写程序,来抓取表单页面的信息,实现自动识别表单、批量注册、自动登录等,从而进行恶意论坛灌水、暴力破解密码、发布垃圾信息等操作。因此如何对表单进行验证,以判断表单填写者是否为真实用户成为目前表单应用中迫切需要解决的问题。
现有的一种表单验证方法是通过验证表单的隐藏域来实现的,表单隐藏域包括名称和数值,在一次表单应用中,服务器生成随机字符传递至客户端,触发客户端将随机字符作为表单隐藏域的数值,因此服务器接收到客户端提交的用户填写好的表单时,通过验证表单隐藏域的数值是否与生成的随机字符相匹配来实现对表单的验证。
但是由于客户端生成表单的同时即生成表单隐藏域,表单隐藏域的名称是预先设置好的,每次生成的表单隐藏域的名称均一样,恶意的自动填写程序通过多次抓取表单页面的信息,即可分析得出表单隐藏域的名称,也就可以对应获取隐藏域的数值,使得仍可识别表单从而进行表单自动填写,因此仍无法确定出表单的填写者是否为真实用户,不能实现表单的有效验证。
发明内容
本申请所要解决的技术问题是提供一种表单验证方法,用以解决现有技术中表单验证方法不能实现有效验证的技术问题。
本申请还提供了一种表单验证装置和系统,用以保证上述方法在实际中的实现及应用。
本发明一方面,提供了一种表单验证方法,包括:
接收到客户端的请求消息后,生成第一随机参数和第二随机参数;
将携带所述第一随机参数和所述第二随机参数的第一触发信息发送给所述客户端,以触发所述客户端将生成的以所述第一随机参数为名称的表单隐藏域加入到表单中,并将根据所述第二随机参数确定出的验证字符赋值给所述表单隐藏域,作为表单隐藏域的数值;
接收到客户端提交的加入所述表单隐藏域的表单后,验证所述第一随机参数对应的表单隐藏域的数值与所述第二随机参数是否相匹配。
优选地,所述触发所述客户端将根据所述第二随机参数确定出的验证字符赋值给所述表单隐藏域,作为表单隐藏域的数值具体为:
触发所述客户端将所述第二随机参数作为验证字符赋值给所述表单隐藏域,作为表单隐藏域的数值;
则所述验证所述第一随机参数对应的表单隐藏域的数值与所述第二随机参数是否相匹配具体为:
验证所述第一随机参数对应的表单隐藏域的数值与所述第二随机参数是否相同。
优选地,所述生成所述第二随机参数后,所述方法还包括:
将所述第二随机参数通过预定义算法进行加密生成验证字符,并向客户端反馈加密信息,以便于所述客户端根据所述预定义算法和所述第二随机参数生成所述验证字符;
则所述验证所述第一随机参数对应的表单隐藏域的数值与所述第二随机参数是否相匹配具体为:
验证所述第一随机参数对应的表单隐藏域的数值与所述根据所述第二随机参数生成的验证字符是否相同。
优选地,所述第一触发信息还包含定义的变量,则所述触发所述客户端将生成的以所述第一随机参数为名称的表单隐藏域加入到表单中,将根据所述第二随机参数确定出的验证字符赋值给所述表单隐藏域,作为表单隐藏域的数值,具体为:
触发所述客户端将生成的以所述第一随机参数为名称,以变量为临时数值的表单隐藏域加入到表单中,并将根据所述第二随机参数确定出的验证字符赋值给所述变量。
优选地,所述方法还包括:
生成第三随机参数,并将携带所述第三随机参数的第二触发信息发送给客户端,以触发所述客户端将所述第三随机参数作为表单隐藏域生成函数的函数名;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210059741.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息更新的方法、装置和系统
- 下一篇:数据传输方法、基站和用户设备