System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及web应用,具体地说是面向web应用的后端参数校验方法及系统。
技术介绍
1、随着网络的广泛普及,有很多企业以及政府网站采用web应用方式。web应用有诸多的优点,例如不受平台影响,不需要安装客户端,只需要有浏览器和访问地址就可以使用。但,方便快捷的同时、web应用也容易受到各种层出不穷的网络攻击。
2、一般来说web应用前端已经做了参数校验,例如必填、字段长度、合法范围等,但有可能有不法分子拦截前端请求,并篡改参数值,再次进行提交,有可能会造成系统安全性、稳定性、功能性的漏洞,造成严重后果。
3、所以在web应用前端已经做参数校验的基础上,后端也需要做参数校验,来保证前端往后端传递的参数值没有被篡改,参数值都是合法的。因此需要一套简便可行的、支持多种情况的后端参数校验方法。
4、如何实现支持多种情况的后端参数校验,是需要解决的技术问题。
技术实现思路
1、本专利技术的技术任务是针对以上不足,提供面向web应用的后端参数校验方法及系统,来解决如何实现支持多种情况的后端参数校验的技术问题。
2、本专利技术一种面向web应用的后端参数校验方法,用于实现后台对前端上传请求中参数的校验,包括如下步骤:
3、s100、定义参数校验规则,后台基于参数校验规则对前端上传请求中的参数进行检验,所述参数校验规则用于描述请求地址、包含的参数、参数的各种属性以及自定义验证;
4、s200、前端对待上传的参数进行排序,并
5、s300、后台基于接收的请求进行完整性校验,通过完整性校验判断请求中是否包含签名信息、并判断请求中除签名信息之外的参数是否与前端待上传的参数一致,如果完整性校验通过,执行步骤s400,如果完整性校验未通过,向前端返回校验失败通知;
6、s400、基于参数校验规则、后台对请求中除签名信息之外的参数进行合法性校验,如果合法性校验通过,调用后台服务,如果合法性校验未通过,向前端返回校验失败通知。
7、作为优选,参数的各种属性包括字段类型、长度、合法的正则表达式以及字典值的验证;
8、自定义验证包括多个参数值的依赖关系验证。
9、作为优选,步骤s200中,前端将待上传参数的key值按照预定顺序进行排序,排序方式包括按ascii码排序,并在js中将排序后全部参数和值进行加密,加密方法为非可逆算法。
10、作为优选,步骤s300中通过完整性校验判断请求中是否包含签名信息、并判断请求中除签名信息之外的参数是否与前端待上传的参数一致,包括如下步骤:
11、后台接收请求后,判断请求中是否包含签名信息,如果没有,表示请求被篡改,拒绝执行并向前端返回检验失败通知,如果有;执行下一步;
12、后台对接收请求中除签名信息之外的参数进行排序,并基于前端采用加密方法对排序后的参数进行加密,得到签名信息作为对比信息,将校验对比信息与签名信息是否一致,如果是,执行下一步,如果否,表示请求中参数被篡改,后台拒绝执行并向前端返回校验失败通知。
13、作为优选,步骤s400中后台根据请求地址从参数校验规则获取当前请求的参数规则,并解析参数规则,遍历参数规则中参数列表,循环参数列表、按照参数规则对请求中参数进行校验,在遍历过程中,如果存在参数校验失败,退出校验过程,拒绝请求并向前端返回校验失败通知。
14、第二方面,本专利技术一种面向web应用的后端参数校验系统,用于通过如第一方面一项所述的一种面向web应用的后端参数校验方法实现后台对前端上传请求中参数的校验,所述系统包括规则定义模块、请求上传模块、完整性校验模块以及合法性校验模块;
15、所述规则定义模块用于执行如下:定义参数校验规则,后台基于参数校验规则对前端上传请求中的参数进行检验,所述参数校验规则用于描述请求地址、包含的参数、参数的各种属性以及自定义验证;
16、前端通过所述请求上传模块执行如下:对待上传的参数进行排序,并对排序后的参数进行加密,得到签名信息,将待上传的参数以及签名信息添加至请求中,并向后台提交请求;
17、后台通过所述完整性校验模块执行如下:基于接收的请求进行完整性校验,通过完整性校验判断请求中是否包含签名信息、并判断请求中除签名信息之外的参数是否与前端待上传的参数一致,如果完整性校验通过,调用合法性校验模块,如果完整性校验未通过,向前端返回校验失败通知;
18、后台通过合法性校验模块执行如下:基于参数校验规则、后台对请求中除签名信息之外的参数进行合法性校验,如果合法性校验通过,调用后台服务,如果合法性校验未通过,向前端返回校验失败通知。
19、作为优选,参数的各种属性包括字段类型、长度、合法的正则表达式以及字典值的验证;
20、自定义验证包括多个参数值的依赖关系验证。
21、作为优选,所述请求上传模块有将待上传参数的key值按照预定顺序进行排序,排序方式包括按ascii码排序,并在js中将排序后全部参数和值进行加密,加密方法为非可逆算法。
22、作为优选,所述完整性校验模块用于执行如下:
23、后台接收请求后,判断请求中是否包含签名信息,如果没有,表示请求被篡改,拒绝执行并向前端返回检验失败通知,如果有;执行下一步;
24、后台对接收请求中除签名信息之外的参数进行排序,并基于前端采用加密方法对排序后的参数进行加密,得到签名信息作为对比信息,将校验对比信息与签名信息是否一致,如果是,执行下一步,如果否,表示请求中参数被篡改,后台拒绝执行并向前端返回校验失败通知。
25、作为优选,所述合法性校验模块用于根据请求地址从参数校验规则获取当前请求的参数规则,并解析参数规则,遍历参数规则中参数列表,循环参数列表、按照参数规则对请求中参数进行校验,在遍历过程中,如果存在参数校验失败,退出校验过程,拒绝请求并向前端返回校验失败通知。
26、本专利技术的面向web应用的后端参数校验方法及系统具有以下优点:前端对上传的参数排序并签名,将将待上传的参数以及签名信息添加至请求中,并向后台提交请求,后台接收请求后,通过完整性校验判断请求中是否包含签名信息、并判断请求中除签名信息之外的参数是否与前端待上传的参数一致,并基于预定义的参数校验规则、对请求中除签名信息之外的参数进行合法性校验,能够有效防止被拦截篡改请求发起的攻击。
本文档来自技高网...【技术保护点】
1.一种面向web应用的后端参数校验方法,其特征在于,用于实现后台对前端上传请求中参数的校验,包括如下步骤:
2.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,参数的各种属性包括字段类型、长度、合法的正则表达式以及字典值的验证;
3.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,步骤S200中,前端将待上传参数的key值按照预定顺序进行排序,排序方式包括按ASCII码排序,并在js中将排序后全部参数和值进行加密,加密方法为非可逆算法。
4.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,步骤S300中通过完整性校验判断请求中是否包含签名信息、并判断请求中除签名信息之外的参数是否与前端待上传的参数一致,包括如下步骤:
5.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,步骤S400中后台根据请求地址从参数校验规则获取当前请求的参数规则,并解析参数规则,遍历参数规则中参数列表,循环参数列表、按照参数规则对请求中参数进行校验,在遍历过程中,如果存在参数校验失败,退
6.一种面向web应用的后端参数校验系统,其特征在于,用于通过如权利要求1-5任一项所述的一种面向web应用的后端参数校验方法实现后台对前端上传请求中参数的校验,所述系统包括规则定义模块、请求上传模块、完整性校验模块以及合法性校验模块;
7.根据权利要求6所述的面向web应用的后端参数校验系统,其特征在于,参数的各种属性包括字段类型、长度、合法的正则表达式以及字典值的验证;
8.根据权利要求6所述的面向web应用的后端参数校验系统,其特征在于,所述请求上传模块有将待上传参数的key值按照预定顺序进行排序,排序方式包括按ASCII码排序,并在js中将排序后全部参数和值进行加密,加密方法为非可逆算法。
9.根据权利要求6所述的面向web应用的后端参数校验系统,其特征在于,所述完整性校验模块用于执行如下:
10.根据权利要求6所述的面向web应用的后端参数校验系统,其特征在于,所述合法性校验模块用于根据请求地址从参数校验规则获取当前请求的参数规则,并解析参数规则,遍历参数规则中参数列表,循环参数列表、按照参数规则对请求中参数进行校验,在遍历过程中,如果存在参数校验失败,退出校验过程,拒绝请求并向前端返回校验失败通知。
...【技术特征摘要】
1.一种面向web应用的后端参数校验方法,其特征在于,用于实现后台对前端上传请求中参数的校验,包括如下步骤:
2.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,参数的各种属性包括字段类型、长度、合法的正则表达式以及字典值的验证;
3.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,步骤s200中,前端将待上传参数的key值按照预定顺序进行排序,排序方式包括按ascii码排序,并在js中将排序后全部参数和值进行加密,加密方法为非可逆算法。
4.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,步骤s300中通过完整性校验判断请求中是否包含签名信息、并判断请求中除签名信息之外的参数是否与前端待上传的参数一致,包括如下步骤:
5.根据权利要求1所述的面向web应用的后端参数校验方法,其特征在于,步骤s400中后台根据请求地址从参数校验规则获取当前请求的参数规则,并解析参数规则,遍历参数规则中参数列表,循环参数列表、按照参数规则对请求中参数进行校验,在遍历过程中,如果存在参数校验失败,退出校验过程,拒绝请求并向前端返回校验失败通知。
6.一种面...
【专利技术属性】
技术研发人员:耿小璐,赵兵,赵勇,曹树亮,孙浩,
申请(专利权)人:浪潮通信信息系统天津有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。