专利名称:对数据进行验证的数据验证方法及服务器的制作方法
技术领域:
本发明涉及通信领域,具体涉及一种对数据进行验证的数据验证方法及服务器。
背景技术:
目前,由于恶意攻击者的出现,导致用户输入的数据有可能会被恶意篡改。例如,以用户在客户端网页上输入的表单数据为例,当用户输入表单数据后,一些恶意攻击者有可能会将专门构造的非法数据添加到表单数据中,在后续的处理过程中,这些非法数据将会执行一些非法操作(例如SQL注入或跨站脚本攻击等),由此对用户的客户端或服务器造成攻击。因此,为了防止上述的攻击,需要对用户输入的数据,例如表单数据进行验证,如果在验证过程中发现有不符合规定的输入数据,应及时返回提示信息。一般情况下,对于用户输入的表单数据,会通过客户端的浏览器进行验证(例如Javascript验证),验证流程如
图1所示。通过图1可以看出,用户提交表单数据之后,首先在客户端执行Javascript验证,经过Javascript验证之后,如果发现有非法输入的数据,则返回提示信息;如果没有非法输入的数据,则将用户正常输入的数据通过网络提交给服务器,由服务器对该表单数据进行处理。下面以一个简单表单的验证方式为例,描述一下上述验证方法的实现过程。该简单表单包含“UserName”和“Password”两个文本输入框,供用户输入用户名和密码,还包含一个“Submit”按钮,用于提交用户输入的用户名和密码。在对该表单进行验证时,如果发现“UserName”和“Password”对应的输入数据不符合要求,则向用户弹出提示框,并返回错误值,以停止表单的提交。上述过程的程序实现代码如下:
fnnciion να I klformithisl^orm)
{
error—string
权利要求
1.一种对数据进行验证的数据验证方法,所述数据从客户端接收并从所述客户端传输到服务器来进行处理,该方法包括: 根据验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器,其中所述前端验证器适于在所述客户端处验证所述数据,以及所述后端验证器适于在服务器处验证从所述客户端传输给所述服务器的数据,所述验证配置信息定义了验证数据是否正确的各种验证规则。
2.如权利要求1所述的数据验证方法,其中所述验证配置信息包括下列验证规则中的一个或者多个:数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则。
3.如权利要求1或者2所述的方法,根据所述验证配置信息生成前端验证器或者后端验证器的步骤包括: 分析所述验证配置信息以获取其中的一个或者多个验证规则; 获取与所述一个或者多个验证规则中的每个规则相对应的验证单元,每个验证单元具有相同的调用接口 ;以及 组合所获取的验证单元以生成所述前端验证器或者后端验证器。
4.如权利要求1-3中任一个所述的方法,其中所述前端验证器通过Javascript来实现。
5.如权利要求1-4中任一个所述的方法,其中所述数据为用户在所述客户端处的网页中输入的表单数据。
6.如权利要求1-5中任一个所述的方法,还包括步骤: 将所生成的前端验证器发送到客户端; 由所述前端验证器对从所述客户端处输入的数据进行验证;以及 由所述后端验证器对从所述客户端传输到所述服务器的数据进行验证。
7.—种对数据进行验证的服务器,其中,所述数据从客户端接收并从所述客户端传输到所述服务器来进行处理,所述服务器包括: 验证配置信息存储器,适于存储验证配置信息,所述验证配置信息定义了验证数据是否正确的各种验证规则; 验证器生成单元,适于根据所述验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器; 其中,所述前端验证器适于在所述客户端处验证所述数据,以及所述后端验证器适于在服务器处验证从所述客户端传输给所述服务器的数据。
8.如权利要求7所述的服务器,其中所述验证配置信息包括下列验证规则中的一个或者多个:数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则。
9.如权利要求7或8所述的服务器,所述验证器生成单元适于分析所述验证配置信息以获取其中的一个或者多个验证规则;获取与所述一个或者多个验证规则中的每个规则相对应的验证单元,每个验证单元具有相同的调用接口 ;以及组合所获取的验证单元以生成所述前端验证器或者后端验证器。
10.如权利要求7-9中任一个所述的服务器,其中所述前端验证器通过Javascript来实现。
11.如权利要求7-10中任一个所述的服务器,其中所述数据为用户在所述客户端处的网页中输入的表单数据。
12.如权利要求7-11中任一个所述的服务器,所述验证器生成单元进一步适于:将所生成的前端验证器发送到客户端;由所述前端验证器对从所述客户端处输入的数据进行验证;以及由所述后端验证 器对从所述客户端传输到所述服务器的数据进行验证。
全文摘要
本发明公开了一种对数据进行验证的数据验证方法和相应的服务器。该方法包括根据验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器,其中前端验证器适于在客户端处验证数据,以及后端验证器适于在服务器处验证从客户端传输给服务器的数据,验证配置信息定义了验证数据是否正确的各种验证规则。根据本发明的方法和相应的服务器,解决了目前仅在客户端进行验证,而导致的用户输入数据依然可能在客户端发送给服务器的过程中被篡改的问题,取得了能够在客户端处和服务器处分别进行验证,以提高验证可靠性的有益效果。
文档编号H04L29/06GK103152365SQ201310119429
公开日2013年6月12日 申请日期2013年4月8日 优先权日2013年4月8日
发明者韩学斌, 黄欢 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司