CN103152365A - 对数据进行验证的数据验证方法及服务器 - Google Patents
对数据进行验证的数据验证方法及服务器 Download PDFInfo
- Publication number
- CN103152365A CN103152365A CN2013101194298A CN201310119429A CN103152365A CN 103152365 A CN103152365 A CN 103152365A CN 2013101194298 A CN2013101194298 A CN 2013101194298A CN 201310119429 A CN201310119429 A CN 201310119429A CN 103152365 A CN103152365 A CN 103152365A
- Authority
- CN
- China
- Prior art keywords
- data
- validator
- server
- client
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种对数据进行验证的数据验证方法和相应的服务器。该方法包括:根据验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器,其中前端验证器适于在客户端处验证数据,以及后端验证器适于在服务器处验证从客户端传输给服务器的数据,验证配置信息定义了验证数据是否正确的各种验证规则。根据本发明的方法和相应的服务器,解决了目前仅在客户端进行验证,而导致的用户输入数据依然可能在客户端发送给服务器的过程中被篡改的问题,取得了能够在客户端处和服务器处分别进行验证,以提高验证可靠性的有益效果。
Description
技术领域
本发明涉及通信领域,具体涉及一种对数据进行验证的数据验证方法及服务器。
背景技术
目前,由于恶意攻击者的出现,导致用户输入的数据有可能会被恶意篡改。例如,以用户在客户端网页上输入的表单数据为例,当用户输入表单数据后,一些恶意攻击者有可能会将专门构造的非法数据添加到表单数据中,在后续的处理过程中,这些非法数据将会执行一些非法操作(例如SQL注入或跨站脚本攻击等),由此对用户的客户端或服务器造成攻击。
因此,为了防止上述的攻击,需要对用户输入的数据,例如表单数据进行验证,如果在验证过程中发现有不符合规定的输入数据,应及时返回提示信息。一般情况下,对于用户输入的表单数据,会通过客户端的浏览器进行验证(例如Javascript验证),验证流程如图1所示。通过图1可以看出,用户提交表单数据之后,首先在客户端执行Javascript验证,经过Javascript验证之后,如果发现有非法输入的数据,则返回提示信息;如果没有非法输入的数据,则将用户正常输入的数据通过网络提交给服务器,由服务器对该表单数据进行处理。下面以一个简单表单的验证方式为例,描述一下上述验证方法的实现过程。该简单表单包含“UserName”和“Password”两个文本输入框,供用户输入用户名和密码,还包含一个“Submit”按钮,用于提交用户输入的用户名和密码。在对该表单进行验证时,如果发现“UserName”和“Password”对应的输入数据不符合要求,则向用户弹出提示框,并返回错误值,以停止表单的提交。上述过程的程序实现代码如下:
在上述代码中,通过对用户名和密码对应的参数值进行验证,来实现排查非法数据的目的。
由此可见,在上述方式中,只在客户端浏览器侧进行验证,而没有在服务器侧进行验证。从图1中的虚线部分可以看出,表单数据从客户端通过Javascript验证之后,到传输至服务器之前的这段过程中,依然有可能会被修改为非法输入。例如,很多工具都可以在表单数据通过Javascript验证之后,浏览器向服务器发送请求之前截获表单数据并对表单数据进行修改,这样,就可以避开客户端的Javascript验证环节,将恶意数据注入到服务器中,由此增加服务器受到SQL注入或XSS(又叫CSS,Cross Site Script,跨站脚本攻击)的机率。因此,这种验证方式的可靠性较低,容易遗漏非法数据,从而对服务器造成影响。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对数据进行验证的数据验证方法和相应的服务器。
依据本发明的一个方面,提供了一种对数据进行验证的数据验证方法,数据从客户端接收并从客户端传输到服务器来进行处理,该方法包括:根据验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器,其中前端验证器适于在客户端处验证数据,以及后端验证器适于在服务器处验证从客户端传输给服务器的数据,验证配置信息定义了验证数据是否正确的各种验证规则。
可选地,其中验证配置信息包括下列验证规则中的一个或者多个:数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则。
可选地,根据验证配置信息生成前端验证器或者后端验证器的步骤包括:分析验证配置信息以获取其中的一个或者多个验证规则;获取与一个或者多个验证规则中的每个规则相对应的验证单元,每个验证单元具有相同的调用接口;以及组合所获取的验证单元以生成前端验证器或者后端验证器。
可选地,其中前端验证器通过Javascript来实现。
可选地,其中数据为用户在客户端处的网页中输入的表单数据。
可选地,还包括步骤:将所生成的前端验证器发送到客户端;由前端验证器对从客户端处输入的数据进行验证;以及由后端验证器对从客户端传输到服务器的数据进行验证。
依据本发明的另一方面,提供了一种对数据进行验证的服务器,其中,数据从客户端接收并从客户端传输到服务器来进行处理,服务器包括:验证配置信息存储器,适于存储验证配置信息,验证配置信息定义了验证数据是否正确的各种验证规则;验证器生成单元,适于根据验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器;其中,前端验证器适于在客户端处验证数据,以及后端验证器适于在服务器处验证从客户端传输给服务器的数据。
可选地,其中验证配置信息包括下列验证规则中的一个或者多个:数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则。
可选地,验证器生成单元适于分析验证配置信息以获取其中的一个或者多个验证规则;获取与一个或者多个验证规则中的每个规则相对应的验证单元,每个验证单元具有相同的调用接口;以及组合所获取的验证单元以生成前端验证器或者后端验证器。
可选地,其中前端验证器通过Javascript来实现。
可选地,其中数据为用户在客户端处的网页中输入的表单数据。
可选地,验证器生成单元进一步适于:将所生成的前端验证器发送到客户端;由前端验证器对从客户端处输入的数据进行验证;以及由后端验证器对从客户端传输到服务器的数据进行验证。
根据本发明的对数据进行验证的数据验证方法和相应的服务器,预先设置验证配置信息,该验证配置信息定义了验证数据是否正确的各种验证规则,然后,根据该验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器,由前端验证器和后端验证器分别实现对客户端处和服务器处的数据验证。由此解决了目前仅在客户端进行验证,而导致的用户输入数据依然可能在客户端发送给服务器的过程中被篡改的问题,取得了能够在客户端处和服务器处分别进行验证,以提高验证可靠性的有益效果。
另外,由于在本发明中,前端验证器和后端验证器基于相同的验证规则自动生成,其验证逻辑相同,保证前后端验证的一致性。并且这样就可以克服在现有的一些方案中,前端验证器和后端验证器由不同的人员编写,很可能存在验证逻辑不一致的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有技术中对表单数据进行验证的示意图;
图2示出了本发明实施例提供的对数据进行验证的数据验证方法的流程图;
图3示出了本发明实施例提供的对数据进行验证的服务器的结构图;以及
图4示出了本发明实施例提供的服务器所生成的前端验证器和后端验证器的工作原理示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种对数据进行验证的数据验证方法,其中,该数据从客户端接收并从客户端传输到服务器来进行处理。采用该方法可以在客户端处和服务器处分别进行验证,以避免目前仅在客户端进行验证,而导致的用户输入数据依然可能在客户端发送给服务器的过程中被篡改的问题。
图2示出了本发明实施例提供的对数据进行验证的数据验证方法的流程图。可选地,该方法首先执行步骤S210,在步骤S210中,生成验证配置信息,该验证配置信息定义了验证数据是否正确的各种验证规则。例如,上述的验证配置信息中可以包括下列验证规则中的一个或者多个:数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则。这些验证规则主要是为了验证数据是否合法,本领域技术人员还可以根据实际情况确定其他的验证规则,以实现对数据合法性的验证。
该验证配置信息是根据开发者自定义的验证内容生成的,例如,以要验证的数据为用户在客户端处的网页中输入的表单数据为例,可以通过如下程序代码来生成该验证配置信息:
在上述代码中,通过mapping参数获取表单提交时对应的源页面和目的页面的映射,并根据映射的内容来生成相应的验证规则。其中,源页面对应于用户从客户端输入表单数据时的网页页面,目的页面对应于客户端将接收到的表单数据传输给服务器后的网页页面,因此,源页面的映射反映了用户在客户端处输入的表单数据的情况,目的页面的映射反映了用户在客户端处输入的表单数据传输到服务器后的情况。在上述代码中,主要针对“name”参数和“age”参数分别定义了不同的验证规则。例如,对于“name”参数,根据数据不能大于预定最大值的规则和数据不能小于预定最小值的规则,规定该参数的最大长度不能超过4,最小长度不能小于1,另外,对于“name”参数,还根据required规则,定义其取值为ture,其中required规则用于定义该参数为必填参数还是可选参数,当取值为ture时表示该参数为必填参数;对于“age”参数,根据数据满足预定正则表达式的规则,规定了该参数的取值范围。
通过步骤S210得到上述的验证配置信息之后,在步骤S220中,根据上述的验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器,其中,前端验证器适于在客户端处验证数据,后端验证器适于在服务器处验证从客户端传输给服务器的数据。
其中,步骤S220中根据验证配置信息生成前端验证器或者后端验证器的步骤具体包括:分析验证配置信息以获取其中的一个或者多个验证规则;获取与该一个或者多个验证规则中的每个规则相对应的验证单元,每个验证单元具有相同的调用接口;以及组合所获取的验证单元以生成前端验证器或者后端验证器。也就是说,在步骤S210中生成的验证配置信息中,包含一个或多个验证规则(例如上述的数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则等),每一个验证规则通过一个验证单元来实现,即一个验证规则对应着一个验证单元,每个验证单元具有相同的调用接口,以便于调用。
具体地,根据验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器的过程可通过如下的程序代码来实现:
在上述代码中,通过循环遍历所有表单,并根据验证配置信息为每个表单生成要验证的验证对象以及验证对象所适用的验证规则。同时判断当前页面是源页面还是目的页面,如果是源页面,说明页面上的数据位于客户端处,则生成在客户端处使用的前端验证器;如果是目的页面,说明页面上的数据已由客户端传输到服务器处,则生成在服务器处使用的后端验证器。
下面首先介绍一下前端验证器的具体生成过程。
在生成前端验证器时,可以根据上述的验证规则,通过验证插件生成前端验证器,其中,验证插件包括jQuery Validation插件。该前端验证器可以利用JS代码来实现。例如,可通过如下的程序代码来生成前端验证器:
通过上述代码,可以根据正则表达式等规则来生成前端验证器。可选地,在生成前端验证器之后,可以进一步将前端验证器发送到客户端,由该前端验证器对从该客户端处输入数据的合法性进行验证,以确保在客户端处输入的数据的正确性,从而一方面可以过滤掉无效数据,以避免服务器因处理无效数据而浪费时间;另一方面可以过滤掉非法数据,以避免非法数据对服务器的攻击。
下面再介绍一下后端验证器的具体生成过程。
在生成后端验证器时,首先获取验证配置信息中的每一个验证规则,并获取与每一个验证规则相对应的验证单元。每一个验证单元用于实现一种验证规则,例如,数据满足预定正则表达式的规则可以通过regExp验证单元实现,数据不能大于预定最大值的规则可以通过maxlength验证单元实现,数据不能小于预定最小值的规则可以通过minlength验证单元实现,其中,每一个验证单元都具有相同的调用接口。具体实现时,验证单元可以通过函数实现,通过继承的方式可以实现各个验证单元对应的函数之间的统一调用接口。例如,可以通过如下代码来定义验证单元的调用接口:
下面以前面提到的required规则为例,描述一下对应的验证单元的生成代码:
对于其他的验证单元,例如regExp、maxlength和minlength也可以通过类似的方式编写对应的函数生成。
然后,将上述的验证单元进行组合,以生成后端验证器,具体组合时,可以通过调用上述的验证单元的调用接口来实现对各个验证单元的组合。例如,假设之前定义了required、regExp、maxlength和minlength四种验证规则,即对应四个验证单元,将这四个验证单元进行组合后就得到了后端验证器。该后端验证器能够实现对required、regExp、maxlength和minlength这四种规则的验证。
该后端验证器用于对从客户端传输到服务器的数据进行验证。具体地,当收到目的页面上的表单数据并利用该后端验证器进行验证时,通过循环遍历该后端验证器中的各个验证规则,将验证规则的名字与表单数据中的参数名进行匹配,如果匹配成功,则根据相应的验证规则来判断表单数据中的参数是否合法。例如,可通过如下代码来实现后端验证器的验证过程:
通过后端验证器可以对客户端传输到服务器的数据的合法性进行验证,以避免数据在从客户端传输到服务器的过程中被篡改,从而进一步避免服务器处理无效数据或非法数据的情况。
在本发明实施例提供的方式中,通过验证配置信息,能够分别生成在客户端进行验证的前端验证器以及在服务器进行验证的后端验证器,通过这种方式,只需生成一次验证配置信息,就可以同时为客户端和服务器生成对应的验证器,大大简化了验证器的生成过程。用户输入的数据会先后经过两次验证,第一次验证时机为数据从客户端接收时由前端验证器进行验证,第二次验证时机为数据从客户端传输到服务器后由后端验证器进行验证。具体地,当用户输入的数据在客户端处通过前端验证器验证没有发现异常时,说明验证通过,将该数据传输给服务器,由后端验证器再次验证;如果在通过前端验证器验证发现异常时,说明验证未通过,向用户提示错误信息,并拦截该数据使其无法到达服务器,由此避免恶意数据对服务器的攻击或者防止服务器浪费时间处理无效数据的情况。当后端验证器验证通过时,说明数据正常,执行正常的数据处理过程;当后端验证器验证未通过时,说明数据异常,执行异常处理程序,在该异常处理程序中,可以对数据异常的具体原因进行分析,或者也可以直接将异常数据丢弃,以防止其对服务器的攻击或者防止服务器浪费时间处理无效数据。上述过程可参照图4中描述的前端验证器和后端验证器的工作原理示意图。
在本发明实施例中,只需要定义一次验证配置信息,就可以同时生成前端验证器和后端验证器,大大简化了前后端验证器的生成过程,从而提高了验证效率。
本发明实施例还提供了一种对数据进行验证的服务器,其中,该数据从客户端接收并从客户端传输到服务器来进行处理。采用该服务器可以分别生成在客户端使用的前端验证器以及在服务器使用的后端验证器,以避免目前仅在客户端进行验证,而导致的用户输入数据依然可能在客户端发送给服务器的过程中被篡改的问题。
图3示出了本发明实施例提供的对数据进行验证的服务器的结构示意图。如图3所示,该服务器300包括:验证配置信息存储器31以及验证器生成单元32,该服务器300与一个或多个客户端200之间通过各种有线或无线网络连接,以实现相互间的通信。
其中,验证配置信息存储器31存储验证配置信息,该验证配置信息定义了验证数据是否正确的各种验证规则。例如,上述的验证配置信息中可以包括下列验证规则中的一个或者多个:数据满足预定正则表达式的规则、数据不能大于预定最大值的规则和数据不能小于预定最小值的规则。这些验证规则主要是为了验证数据是否合法,本领域技术人员还可以根据实际情况确定其他的验证规则,以实现对数据合法性的验证。
验证器生成单元32根据验证配置信息存储器31存储的验证配置信息,分别生成在客户端处使用的前端验证器以及在服务器处使用的后端验证器;其中,前端验证器适于在客户端处验证数据,以及后端验证器适于在服务器处验证从客户端传输给服务器的数据。
具体地,验证器生成单元32分析验证配置信息以获取其中的一个或者多个验证规则。随后,验证器生成单元32获取与该一个或者多个验证规则中的每个规则相对应的验证单元。如上文在描述后端验证器生成过程中所述的那样,每个验证单元具有相同的调用接口,这样,验证器生成单元32就可以利用统一的调用接口来组合所获取的验证单元以生成前端验证器或者后端验证器。
前端验证器可以通过Javascript语言来实现,后端验证器可以通过PHP语言来实现。关于验证器生成单元的具体工作过程以及前端验证器和后端验证器的生成方式和工作原理可参照上一实施例中相应部分的描述,此处不再赘述。
可选地,验证器生成单元32进一步用于将所生成的前端验证器发送到客户端;由前端验证器对从客户端处输入的数据进行验证;以及由后端验证器对从客户端传输到服务器的数据进行验证。
图4示出了本发明实施例提供的服务器所生成的前端验证器和后端验证器的工作原理示意图。从图4中可以看出,通过验证配置信息存储器以及验证器生成单元生成的前端验证器和后端验证器完成了对输入数据的双重验证,提高了验证的准确性。
在本发明实施例提供的服务器中,通过验证配置信息,能够分别生成在客户端进行验证的前端验证器以及在服务器进行验证的后端验证器,这样,用户输入的数据会先后经过两次验证,第一次验证时机为数据从客户端接收时由前端验证器进行验证,第二次验证时机为数据从客户端传输到服务器后由后端验证器进行验证。具体地,当用户输入的数据在客户端处通过前端验证器验证没有发现异常时,说明验证通过,将该数据传输给服务器,由后端验证器再次验证;如果在通过前端验证器验证发现异常时,说明验证未通过,向用户提示错误信息,并拦截该数据使其无法到达服务器,由此避免恶意数据对服务器的攻击或者防止服务器浪费时间处理无效数据的情况。当后端验证器验证通过时,说明数据正常,执行正常的数据处理过程;当后端验证器验证未通过时,说明数据异常,执行异常处理程序,在该异常处理程序中,可以对数据异常的具体原因进行分析,或者也可以直接将异常数据丢弃,以防止其对服务器的攻击或者防止服务器浪费时间处理无效数据。
在本发明实施例中,只需要定义一次验证配置信息,就可以同时生成前端验证器和后端验证器,大大简化了前后端验证器的生成过程,从而提高了验证效率。
由于很多数据在从客户端传输到服务器的过程中都可能被篡改,因此,除了上面描述的表单数据之外,本发明实施例提供的方法及服务器还可以广泛地应用于各类数据的验证。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (12)
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中任一个所述的服务器,所述验证器生成单元进一步适于:将所生成的前端验证器发送到客户端;由所述前端验证器对从所述客户端处输入的数据进行验证;以及由所述后端验证器对从所述客户端传输到所述服务器的数据进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101194298A CN103152365A (zh) | 2013-04-08 | 2013-04-08 | 对数据进行验证的数据验证方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101194298A CN103152365A (zh) | 2013-04-08 | 2013-04-08 | 对数据进行验证的数据验证方法及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103152365A true CN103152365A (zh) | 2013-06-12 |
Family
ID=48550226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101194298A Pending CN103152365A (zh) | 2013-04-08 | 2013-04-08 | 对数据进行验证的数据验证方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103152365A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873481A (zh) * | 2014-03-31 | 2014-06-18 | 百度在线网络技术(北京)有限公司 | 验证方法、开放平台、服务端及验证*** |
CN103984547A (zh) * | 2014-05-14 | 2014-08-13 | 上海上讯信息技术股份有限公司 | 一种表单验证方法及*** |
CN104049972A (zh) * | 2014-06-18 | 2014-09-17 | 北京京东尚科信息技术有限公司 | 一种数据验证方法及*** |
CN104618324A (zh) * | 2014-12-18 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 一种用于数据发送以及数据合法性检查的方法与装置 |
CN106445822A (zh) * | 2016-09-23 | 2017-02-22 | 上海图聚智能科技股份有限公司 | 高扩展性的前后端数据校验方法 |
CN106445552A (zh) * | 2016-10-13 | 2017-02-22 | 浪潮(苏州)金融技术服务有限公司 | 一种用于开发医疗行业客户端表单提交验证的方法 |
CN106940640A (zh) * | 2016-01-04 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种针对错误输入信息的页面定位方法及装置 |
CN109450868A (zh) * | 2018-10-22 | 2019-03-08 | 四川中电启明星信息技术有限公司 | web浏览器输入数据的验证方法、装置及可读存储介质 |
CN109542919A (zh) * | 2018-10-30 | 2019-03-29 | 福建省华渔教育科技有限公司 | 一种统一数据验证的方法及*** |
CN110097331A (zh) * | 2019-03-28 | 2019-08-06 | 东软集团股份有限公司 | 业务表单的校验方法、装置、存储介质和电子设备 |
CN112347452A (zh) * | 2020-11-10 | 2021-02-09 | 上海祺鲲信息科技有限公司 | 电子合同签署的方法、电子设备及存储介质 |
WO2024099349A1 (zh) * | 2022-11-09 | 2024-05-16 | 北京有竹居网络技术有限公司 | 页面展示方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510881A (zh) * | 2009-03-30 | 2009-08-19 | 北京金山软件有限公司 | 一种网页提供方法及装置 |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
US20120210402A1 (en) * | 2002-01-18 | 2012-08-16 | Peoplechart Corporation | Protecting Information on a Computer System Using Multiple Authentication Methods |
CN102819766A (zh) * | 2011-06-09 | 2012-12-12 | 金蝶软件(中国)有限公司 | 一种表单校验方法、装置及企业*** |
CN102932332A (zh) * | 2012-09-28 | 2013-02-13 | 用友软件股份有限公司 | 数据校验***和数据校验方法 |
-
2013
- 2013-04-08 CN CN2013101194298A patent/CN103152365A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120210402A1 (en) * | 2002-01-18 | 2012-08-16 | Peoplechart Corporation | Protecting Information on a Computer System Using Multiple Authentication Methods |
CN101510881A (zh) * | 2009-03-30 | 2009-08-19 | 北京金山软件有限公司 | 一种网页提供方法及装置 |
CN102819766A (zh) * | 2011-06-09 | 2012-12-12 | 金蝶软件(中国)有限公司 | 一种表单校验方法、装置及企业*** |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
CN102932332A (zh) * | 2012-09-28 | 2013-02-13 | 用友软件股份有限公司 | 数据校验***和数据校验方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873481A (zh) * | 2014-03-31 | 2014-06-18 | 百度在线网络技术(北京)有限公司 | 验证方法、开放平台、服务端及验证*** |
CN103984547A (zh) * | 2014-05-14 | 2014-08-13 | 上海上讯信息技术股份有限公司 | 一种表单验证方法及*** |
CN104049972A (zh) * | 2014-06-18 | 2014-09-17 | 北京京东尚科信息技术有限公司 | 一种数据验证方法及*** |
CN104618324A (zh) * | 2014-12-18 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 一种用于数据发送以及数据合法性检查的方法与装置 |
CN106940640A (zh) * | 2016-01-04 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种针对错误输入信息的页面定位方法及装置 |
US10831344B2 (en) | 2016-01-04 | 2020-11-10 | Advanced New Technologies Co., Ltd. | Page positioning method and apparatus for erroneous input information |
CN106445822A (zh) * | 2016-09-23 | 2017-02-22 | 上海图聚智能科技股份有限公司 | 高扩展性的前后端数据校验方法 |
CN106445552A (zh) * | 2016-10-13 | 2017-02-22 | 浪潮(苏州)金融技术服务有限公司 | 一种用于开发医疗行业客户端表单提交验证的方法 |
CN109450868A (zh) * | 2018-10-22 | 2019-03-08 | 四川中电启明星信息技术有限公司 | web浏览器输入数据的验证方法、装置及可读存储介质 |
CN109542919A (zh) * | 2018-10-30 | 2019-03-29 | 福建省华渔教育科技有限公司 | 一种统一数据验证的方法及*** |
CN110097331A (zh) * | 2019-03-28 | 2019-08-06 | 东软集团股份有限公司 | 业务表单的校验方法、装置、存储介质和电子设备 |
CN112347452A (zh) * | 2020-11-10 | 2021-02-09 | 上海祺鲲信息科技有限公司 | 电子合同签署的方法、电子设备及存储介质 |
CN112347452B (zh) * | 2020-11-10 | 2023-08-04 | 上海祺鲲信息科技有限公司 | 电子合同签署的方法、电子设备及存储介质 |
WO2024099349A1 (zh) * | 2022-11-09 | 2024-05-16 | 北京有竹居网络技术有限公司 | 页面展示方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103152365A (zh) | 对数据进行验证的数据验证方法及服务器 | |
US9356955B2 (en) | Methods for determining cross-site scripting and related vulnerabilities in applications | |
JP6061364B2 (ja) | アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス | |
CN101964025B (zh) | Xss检测方法和设备 | |
US8266700B2 (en) | Secure web application development environment | |
CN103856446B (zh) | 一种登录方法、装置及开放平台*** | |
US8646088B2 (en) | Runtime enforcement of security checks | |
EP2420932A1 (en) | Solving hybrid constraints to validate a security software module for detecting injection attacks | |
CN104270395A (zh) | 一种输入数据校验的方法、装置及*** | |
EP2407887A1 (en) | Solving hybrid constraints to validate specification requirements of a software module | |
CN102833258A (zh) | 网址访问方法及*** | |
CN102882886A (zh) | 一种呈现访问网站的相关信息的网络终端和方法 | |
US9178903B1 (en) | Simulating a bot-net spanning a plurality of geographic regions | |
Alkhalaf et al. | Verifying client-side input validation functions using string analysis | |
CN103647678A (zh) | 一种网站漏洞在线验证方法及装置 | |
CN108810896A (zh) | 无线接入点的连接认证方法和装置 | |
CN112988599B (zh) | 一种页面调试方法、装置、电子设备和存储介质 | |
US20170031888A1 (en) | System and method for automatically inserting correct escaping functions for field references in a multi-tenant computing environment | |
CN102946396B (zh) | 用户代理装置、宿主网站服务器和用户认证方法 | |
CN103647652A (zh) | 一种实现数据传输的方法、装置和服务器 | |
CN111556080A (zh) | 网络节点监控方法、装置、介质及电子设备 | |
CN110647736A (zh) | 插件式坐席***登录方法、装置、计算机设备及存储介质 | |
CN112104641B (zh) | 登录形式转换方法、装置、存储介质及电子设备 | |
CN110177096B (zh) | 客户端认证方法、装置、介质和计算设备 | |
CN107026854A (zh) | 漏洞验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130612 |