web浏览器输入数据的验证方法、装置及可读存储介质与流程

文档序号:17071668发布日期:2019-03-08 23:22阅读:447来源:国知局
web浏览器输入数据的验证方法、装置及可读存储介质与流程

本发明涉及信息安全技术领域,特别是涉及一种web浏览器输入数据的验证方法、装置、设备及计算机可读存储介质。



背景技术:

随着web技术日新月异的发展,浏览器/服务器(b/s)架构的系统已经完全超越了传统的客户机/服务器(c/s)架构。据不完全统计,目前的网络攻击中有80%是针对web应用的,其中web攻击中比较著名的常见漏洞如跨站脚本攻击xss、sql注入攻击,可以说起因都是由于对输入数据验证不彻底而引起的。

像xss这样的攻击,它是完全隐藏在一次正常的请求访问中,普通的防火墙技术并不能阻挡它,通常的解决方案都是通过严格验证的输入验证和安全编码实现的,在进行前后两次验证过后才会被认为是有效合法的数据,输入数据才会被提交到业务流程处理。而在实际开发中,往往受成本和工期的影响,多数系统对用户输入验证仅仅做了前端直译式脚本语言javascript校验,后端并不再对输入进行验证,这就为黑客留下了可乘之机。并且前后端校验是两个完全独立的实现过程,需要前端开发人员和后端开发人员分别编码完成验证,很可能由于人为因素导致出现前后端验证不一致的问题,数据验证效率低,多次重复编码,研发成本高。

综上所述,如何有效地解决数据传输的验证效率低、研发成本高等问题,是目前本领域技术人员急需解决的问题。



技术实现要素:

本发明的目的是提供一种web浏览器输入数据的验证方法,该方法提高了数据验证效率,节省了研发成本;本发明的另一目的是提供一种web浏览器输入数据的验证装置、设备及计算机可读存储介质。

为解决上述技术问题,本发明提供如下技术方案:

一种web浏览器输入数据的验证方法,包括:

接收输入的待校验数据;

根据所述待校验数据的输入框的属性信息和所述待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;

利用前端验证器按照所述验证规则对所述待校验数据进行前端验证;

当所述前端验证器对所述待校验数据验证通过后,通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截,以触发所述后端验证器对所述待校验数据进行后端校验。

在本发明的一种具体实施方式中,在所述前端验证器对所述待校验数据验证通过后,通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截之前,还包括:

对所述待校验数据进行加密处理,生成密文数据;

通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截,以触发所述后端验证器对所述待校验数据进行后端校验,具体为:

通过拦截器对将所述密文数据提交到后端的提交请求进行拦截,以触发所述后端验证器对所述密文数据进行后端校验。

在本发明的一种具体实施方式中,对所述待校验数据进行加密处理,包括:

利用aes加密算法对所述待校验数据进行加密处理。

在本发明的一种具体实施方式中,在所述前端验证器对所述待校验数据验证通过后,通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截之前,还包括:

利用md5加密算法对所述待检验数据生成数据摘要;

通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截,具体为:

通过拦截器对将携带有所述数据摘要的所述待校验数据提交到后端的提交请求进行拦截。

一种web浏览器输入数据的验证装置,包括:

数据接收模块,用于接收输入的待校验数据;

验证规则查找模块,用于根据所述待校验数据的输入框的属性信息和所述待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;

前端验证模块,用于利用前端验证器按照所述验证规则对所述待校验数据进行前端验证;

请求拦截模块,用于当所述前端验证器对所述待校验数据验证通过后,通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截,以触发所述后端验证器对所述待校验数据进行后端校验。

在本发明的一种具体实施方式中,还包括:

密文数据生成模块,用于在所述前端验证器对所述待校验数据验证通过后,通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截之前,对所述待校验数据进行加密处理,生成密文数据;

所述请求拦截模块具体为通过拦截器对将所述密文数据提交到所述后端的所述提交请求进行拦截,以触发所述后端验证器对所述密文数据进行后端校验的模块。

在本发明的一种具体实施方式中,所述密文数据生成模块包括数据加密子模块,

所述加密子模块具体为利用aes加密算法对所述待校验数据进行加密处理的模块。

在本发明的一种具体实施方式中,还包括:

摘要生成模块,用于在所述前端验证器对所述待校验数据验证通过后,通过拦截器对将所述待校验数据提交到后端的提交请求进行拦截之前,利用md5加密算法对所述待检验数据生成数据摘要;

所述请求拦截模块具体为通过拦截器对将携带有所述数据摘要的所述待校验数据提交到所述后端的所述提交请求进行拦截的模块。

一种web浏览器输入数据的验证设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前所述web浏览器输入数据的验证方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述web浏览器输入数据的验证方法的步骤。

应用本发明实施例所提供的web浏览器输入数据的验证方法,接收输入的待校验数据;根据待校验数据的输入框的属性信息和所述待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;利用前端验证器按照验证规则对待校验数据进行前端验证;当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。通过预先设置对输入数据进行验证的验证规则集、前端验证器和后端验证器对待校验数据进行验证,可以保证前后端均进行数据验证,用前端验证器和后端验证器代替现有技术中前端开发人员和后端开发人员对待校验数据进行验证,避免了由于人为因素导致出现前后端验证不一致的问题,提高了数据验证效率,不需要开发人员多次重复编码,节省了研发成本。

相应的,本发明实施例还提供了与上述web浏览器输入数据的验证方法相对应的web浏览器输入数据的验证装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中web浏览器输入数据的验证方法的一种实施流程图;

图2为本发明实施例中web浏览器输入数据的验证方法的另一种实施流程图;

图3为本发明实施例中web浏览器输入数据的验证方法的另一种实施流程图;

图4为本发明实施例中一种web浏览器输入数据的验证装置的结构框图;

图5为本发明实施例中一种web浏览器输入数据的验证设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,图1为本发明实施例中web浏览器输入数据的验证方法的一种实施流程图,该方法可以包括以下步骤:

s101:接收输入的待校验数据。

当用户需要访问一个web网页时,用户可以通过浏览器/服务器结构的用户界面输入待校验数据,数据验证系统接收输入的待校验数据。如待校验数据可以是登录一个账号的用户名和密码,用户需要登录一个账号时,需要通过用户界面输入用户名和密码进行数据校验。并且在接收到输入的待校验数据时,数据验证系统可以自检配置信息,以保证配置信息准确,以免对后续验证待校验数据造成干扰。

s102:根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则。

可以预先设置多个验证规则,如当需要校验用户输入的内容是否为数字时,验证规则可以设置为可允许输入数字的数据大小范围,是否允许输入为空。在将各验证规则设置完成后,可以通过配置的方式将各验证规则统一管理起来,得到验证规则集,并且将每个验证规则和待校验数据的输入框的属性信息及待校验数据的提交地址信息进行关联。当接收到输入的待校验数据时,可以触发值改变change事件,进而根据待校验数据的输入框的属性信息及待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则。

属性信息可以包括名称、访问的网站功能信息等。验证规则可以交由一个拥有丰富安全经验的人员专门配置,可以有效解决现有技术中前端来发人员和后端开发人员分别编码完成验证,人为因素可能导致的前后端验证不一致的问题。

s103:利用前端验证器按照验证规则对待校验数据进行前端验证。

可以预先设置有前端验证器,前端验证器的框架可以包括拦截器validatorfilter,作为后端验证过程的核心入口;表单验证器formvalidator,作为校验逻辑核心组件,校验流程的业务控制全部在此实现,一个表单验证器管理着多条验证规则;验证规则封装对象validaterule;验证器接口validator,所有验证器都需要实现此接口,它与验证规则封装对象配置完成输入数据的校验,验证通过时返回为true,否则返回false。框架默认实现的验证器可以包括默认验证器defaultvalidator,只验证输入是否允许为空;还可以包括正则表达式验证器patternvalidator,使用配置好的正则表达式验证输入数据是否合法;还可以包括数字验证器numbervalidator,支持整数和小数验证;还可以包括日期时间验证器datevalidator,支持“年-月-日”和“年-月-日时:分:秒”两种格式,比如:“2018-08-08”或“2018-08-0912:12:12”;文本验证器textvalidator,验证文本内容和长度是否合法。当用户输入数据完成,点击提交按钮,并从预设的验证规则集中查找对应的验证规则之后,可以利用前端验证器按照验证规则对待校验数据进行前端验证。

s104:当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。

当利用前端验证器按照验证规则对待校验数据进行前端验证之后,如果前端验证器对待校验数据验证通过,则通过拦截器对将待校验数据提交到后端的提交请求进行拦截,从而触发后端验证器对待校验数据进行后端校验。通过后端验证器验证数据从浏览器界面传输到后端服务器的过程中是否被窃取或非法篡改,当待校验数据被后端验证器利用对应的验证规则进行后端验证通过后,才会被提交到业务处理流程。如果前端验证器对待校验数据验证不通过,则说明输入的待校验数据不满足对应的验证规则,例如,允许输入的待校验数据只能是数字和字母,而实际输入的是中文,在这种情况下,就会由于不满足对应的验证规则导致前端验证器对待校验数据验证不通过。后端验证器的框架可以与前端验证器的框架相互对照,本发明实施例在此不做赘述。框架本身将自动完成对待校验数据的校验工作,可以让开发人员更多的精力用到系统的业务开发上。

应用本发明实施例所提供的web浏览器输入数据的验证方法,接收输入的待校验数据;根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;利用前端验证器按照验证规则对待校验数据进行前端验证;当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。通过预先设置对输入数据进行验证的验证规则集、前端验证器和后端验证器对待校验数据进行验证,可以保证前后端均进行数据验证,用前端验证器和后端验证器代替现有技术中前端开发人员和后端开发人员对待校验数据进行验证,避免了由于人为因素导致出现前后端验证不一致的问题,提高了数据验证效率,不需要开发人员多次重复编码,节省了研发成本。

需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。

实施例二:

参见图2,图2为本发明实施例中web浏览器输入数据的验证方法的另一种实施流程图,该方法可以包括以下步骤:

s201:接收输入的待校验数据。

s202:根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则。

s203:利用前端验证器按照验证规则对待校验数据进行前端验证。

s204:在前端验证器对待校验数据验证通过后,对待校验数据进行加密处理,生成密文数据。

在前端验证器对待校验数据验证通过后,可以对待校验数据进行加密处理,从而保证待校验数据在传输过程中的安全性,防止被恶意篡改。

在本发明的一种具体实施方式中,对待校验数据进行加密处理,可以包括:

利用aes加密算法对待校验数据进行加密处理。

对待校验数据进行加密处理具体的可以利用aes高级加密算法对待校验数据进行加密处理,aes加密算法为一种对称加密算法,利用aes加密算法对待校验数据进行加密可以提高数据验证系统的吞吐量。

s205:通过拦截器对将密文数据提交到后端的提交请求进行拦截,以触发后端验证器对密文数据进行后端校验。

在对待校验数据进行加密处理后,生成密文数据,通过拦截器对将密文数据提交到后端的提交请求进行拦截,从而触发后端验证器对密文数据进行后端校验。后端验证器通过相应的解密算法对密文数据进行解密处理,获得解密后待校验数据,对解密后的待校验数据进行后端验证。使得待校验数据从前端验证器到后端验证器传输的过程中是以密文的形式进行传输,较大地降低了待校验数据被恶意篡改的概率,提高了数据传输的安全性。

实施例三:

参见图3,图3为本发明实施例中web浏览器输入数据的验证方法的另一种实施流程图,该方法可以包括以下步骤:

s301:接收输入的待校验数据。

s302:根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则。

s303:利用前端验证器按照验证规则对待校验数据进行前端验证。

s304:在前端验证器对待校验数据验证通过后,利用md5加密算法对待检验数据生成数据摘要。

当前端验证器对待校验数据验证通过后,可以利用md5加密算法对待校验数据生成数据摘要。并且可以将生成的数据摘要放到超文本传输协议http头中,名称可以设置为数字签名datasign。

s305:通过拦截器对将携带有数据摘要的待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。

在利用md5加密算法对待检验数据生成数据摘要之后,通过拦截器对将携带有数据摘要的待校验数据提交到后端的提交请求进行拦截,从而触发后端验证器对待校验数据进行后端校验。后端验证器接收到携带有数据摘要的待校验数据之后,可以从http的头中获取当前传入的数据摘要,然后再根据用户提交的数据重新使用md5加密算法重新生成一个数据摘要,将前后端生成的数据摘要进行对比,如果不相等则表示数据可能被篡改,需要重新提交数据。通过生成数据摘要,对前后端生成的数据摘要进行对比,可以及时发现待校验数据在从前端验证器到后端验证器传输的过程中是否被篡改,提高待检验数据传输过程中的安全性。

相应于上面的方法实施例,本发明实施例还提供了一种web浏览器输入数据的验证装置,下文描述的一种web浏览器输入数据的验证装置与上文描述的一种web浏览器输入数据的验证方法可相互对应参照。

参见图4,图4为本发明实施例中一种web浏览器输入数据的验证装置的结构框图,该装置可以包括:

数据接收模块41,用于接收输入的待校验数据;

验证规则查找模块42,用于根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;

前端验证模块43,用于利用前端验证器按照验证规则对待校验数据进行前端验证;

请求拦截模块44,用于当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。

应用本发明实施例所提供的web浏览器输入数据的验证装置,接收输入的待校验数据;根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;利用前端验证器按照验证规则对待校验数据进行前端验证;当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。通过预先设置对输入数据进行验证的验证规则集、前端验证器和后端验证器对待校验数据进行验证,可以保证前后端均进行数据验证,用前端验证器和后端验证器代替现有技术中前端来发人员和后端开发人员对待校验数据进行验证,避免了由于人为因素导致出现前后端验证不一致的问题,提高了数据验证效率,不需要开发人员多次重复编码,节省了研发成本。

在本发明的一种具体实施方式中,该装置还可以包括:

密文数据生成模块,用于在前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截之前,对待校验数据进行加密处理,生成密文待校验数据;

请求拦截模块44具体为通过拦截器对将密文数据提交到后端的提交请求进行拦截,以触发后端验证器对密文数据进行后端校验的模块。

在本发明的一种具体实施方式中,密文数据生成模块包括加密子模块,

加密子模块,用于利用aes加密算法对待校验数据进行加密处理。

在本发明的一种具体实施方式中,该装置还可以包括:

摘要生成模块,用于在前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,利用md5加密算法对待检验数据生成数据摘要;

请求拦截模块44具体为通过拦截器对将携带有数据摘要的待校验数据提交到后端的提交请求进行拦截的模块。

相应于上面的方法实施例,参见图5,图5为本发明所提供的web浏览器输入数据的验证设备的示意图,该设备可以包括:

存储器51,用于存储计算机程序;

处理器52,用于执行上述存储器51存储的计算机程序时可实现如下步骤:

接收输入的待校验数据;根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;利用前端验证器按照验证规则对待校验数据进行前端验证;当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。

对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。

相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

接收输入的待校验数据;根据待校验数据的输入框的属性信息和待校验数据的提交地址信息,从预设的验证规则集中查找对应的验证规则;利用前端验证器按照验证规则对待校验数据进行前端验证;当前端验证器对待校验数据验证通过后,通过拦截器对将待校验数据提交到后端的提交请求进行拦截,以触发后端验证器对待校验数据进行后端校验。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1