一种输入数据校验的方法、装置及系统的制作方法

文档序号:7817685阅读:323来源:国知局
一种输入数据校验的方法、装置及系统的制作方法
【专利摘要】本发明公开了一种输入数据校验的方法、装置及系统,用于提高校验代码生成的效率,该方法包括:保存预先设置的校验配置文件,校验配置文件包括校验规则,校验规则包括规则名称以及规则值;读取校验配置文件,根据校验配置文件自动生成服务器校验代码以及客户端校验代码;将客户端校验代码发送给客户端,以使客户端在接收到第一输入数据时,利用客户端校验代码对第一输入数据进行校验;接收客户端输入的第二输入数据,利用服务器校验代码对第二输入数据进行校验,当第二输入数据未通过校验,则将当前第二输入数据返回给客户端。
【专利说明】一种输入数据校验的方法、装置及系统

【技术领域】
[0001]本发明涉及互联网【技术领域】,具体涉及一种输入数据校验的方法、装置及系统。

【背景技术】
[0002]输入数据是指用户在动态的web页面上填写的相关数据,这些数据一般需要满足校验规则,例如校验规则为密码至少由6位数字、字母或符号组成等等。校验规则可以添加到任何一个用户输入的数据之上,使该输入数据满足这种校验规则。
[0003]在现有技术中,对于输入数据的校验,可以采用客户端和服务器端双重校验的方式,用户在客户端输入数据,若表单输入数据不符合校验规则,客户端验证可以快速将响应信息返回给用户;同时,为了防止拦截并篡改通过了客户端校验以后的输入数据,造成安全隐患,服务器端也需要对通过了客户端校验的输入数据再次进行服务器端校验,保证对输入数据校验的准确性。
[0004]但是,由于客户端和服务器端所使用的校验规则应该保证相同,又由于客户端和服务器端需要由不同的语言编写实现校验规则的代码(即校验代码),这样,如果需要修改校验规则时,则需要同步修改客户端和服务器端校验代码,以确保客户端和服务器端的校验规则保持一致。人工分别编写修改客户端和服务器的校验代码,效率较低,且容易出现修改不一致的情况,从而直接影响输入数据校验功能的使用。


【发明内容】

[0005]有鉴于此,本发明提供一种输入数据校验的方法、装置及系统,以解决现有技术中分别修改客户端和服务器端校验代码效率较低的技术问题。
[0006]为解决上述问题,本发明提供的技术方案如下:
[0007]一种输入数据校验的方法,所述方法包括:
[0008]保存预先设置的校验配置文件,所述校验配置文件包括校验规则,所述校验规则包括规则名称以及规则值;
[0009]读取所述校验配置文件,根据所述校验配置文件自动生成服务器校验代码以及客户端校验代码;
[0010]将所述客户端校验代码发送给客户端,以使所述客户端在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验;
[0011]接收客户端输入的第二输入数据,利用所述服务器校验代码对所述第二输入数据进行校验,当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端。
[0012]相应的,所述读取所述校验配置文件,根据所述校验配置文件自动生成客户端校验代码以及服务器校验代码,包括:
[0013]读取所述校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码。
[0014]相应的,读取所述校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码,包括:
[0015]读取所述校验配置文件中的规则名称获取待校验的页面元素值,读取所述校验配置文件中的规则值获得所述页面元素值对应的规则值;
[0016]通过服务器语言自动生成判断所述页面元素值是否符合所述规则值的客户端校验代码以及服务器校验代码。
[0017]相应的,接收第二输入数据,利用所述服务器校验代码对所述第二输入数据进行校验,当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端,包括:
[0018]接收所述客户端通过提交表单中嵌入的框架控件输入的第二输入数据;
[0019]利用所述服务器校验代码对所述第二输入数据进行校验;
[0020]当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端提交表单中嵌入的框架控件。
[0021]一种输入数据校验的装置,所述装置包括:
[0022]保存单元,用于保存预先设置的校验配置文件,所述校验配置文件包括校验规则,所述校验规则包括规则名称以及规则值;
[0023]生成单元,用于读取所述校验配置文件,根据所述校验配置文件自动生成服务器校验代码以及客户端校验代码;
[0024]发送单元,用于将所述客户端校验代码发送给客户端,以使所述客户端在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验;
[0025]校验单元,用于接收客户端输入的第二输入数据,利用所述服务器校验代码对所述第二输入数据进行校验,当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端。
[0026]相应的,所述生成单元具体用于:
[0027]读取所述校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码。
[0028]相应的,所述生成单元包括:
[0029]读取子单元,用于读取所述校验配置文件中的规则名称获取待校验的页面元素值,读取所述校验配置文件中的规则值获得所述页面元素值对应的规则值;
[0030]生成子单元,用于通过服务器语言自动生成判断所述页面元素值是否符合所述规则值的客户端校验代码以及服务器校验代码。
[0031]相应的,所述校验单元包括:
[0032]接收子单元,用于接收所述客户端通过提交表单中嵌入的框架控件输入的第二输入数据;
[0033]校验子单元,用于利用所述服务器校验代码对所述第二输入数据进行校验;
[0034]结果返回子单元,用于当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端提交表单中嵌入的框架控件。
[0035]一种输入数据校验的系统,所述系统包括:
[0036]服务器以及客户端;
[0037]所述服务器是上述的输入数据校验的装置;
[0038]所述客户端用于接收客户端校验代码,在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验;向所述服务器发送第二输入数据,所述第二输入数据是通过校验的所述第一输入数据;接收所述服务器返回的未通过校验的第二输入数据。
[0039]相应的,所述客户端具体用于:
[0040]接收客户端校验代码,在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验;
[0041]通过提交表单中嵌入的框架控件向所述服务器发送第二输入数据,所述第二输入数据是通过校验的所述第一输入数据;
[0042]利用所述提交表单中嵌入的框架控件接收所述服务器返回的未通过校验的第二输入数据。
[0043]由此可见,本发明实施例具有如下有益效果:
[0044]本发明实施例通过使用统一的校验配置文件,并根据校验配置文件自动生成用于客户端的校验代码以及用于服务器的校验代码,如果修改了校验规则,只需要维护校验配置文件即可同步修改服务器校验代码以及客户端校验代码,省去了人工编写修改服务器校验代码以及客户端校验代码的步骤,从而提高了校验代码生成、修改的效率,也可以避免服务器以及客户端校验规则不一致的问题。

【专利附图】

【附图说明】
[0045]图1为现有技术输入数据校验的过程示意图;
[0046]图2为本发明实施例中提供的输入数据校验的方法实施例的流程图;
[0047]图3为本发明实施例中提供的输入数据校验的方法实施例的示意图;
[0048]图4为本发明实施例中提供的输入数据校验的装置实施例的示意图;
[0049]图5为本发明实施例中提供的输入数据校验的系统实施例的示意图。

【具体实施方式】
[0050]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明实施例作进一步详细的说明。
[0051]可以交互的页面一般都有输入表单,只要有可能,就应该对用户输入的数据进行校验,以避免把处理时间浪费在一些无效的输入信息上。若有不符合校验规则的输入数据由表单输入,应及时返回并给出相应的提示信息。
[0052]用户通过浏览器打开某个页面,并输入相应的数据以后,停留在客户端浏览器上的校验代码(通常由JavaScript语言实现)会按照约定好的校验规则来检查用户输入的数据是否合法。这种通过客户端浏览器上的校验代码检查用户输入数据是否合法的方式称为客户端校验。
[0053]用户通过浏览器打开某个页面,并输入相应的数据以后,将该数据提交到服务器,服务器上的校验代码(可以由JAVA/PHP/C#等语言实现)会按照约定好的校验规则来检查用户输入的数据是否合法。这种通过服务器上的校验代码检查用户输入数据是否合法的方法称为服务器校验。
[0054]如果拦截通过了客户端校验以后的输入数据,并将该输入数据进行篡改(改成不符合校验规则的输入数据)后再提交到服务器,那么客户端校验将会被绕过,形成无效的拦截,即仅使用客户端校验存在着很大的安全隐患。
[0055]而服务器校验的方式没有了客户端校验,所有的数据都被直接提交到服务器,凭空增加了一部分不必要的网络流量,也增加了一部分不必要的服务器的负荷,即需要额外对能够通过客户端校验进行拦截的数据进行校验。
[0056]因此,参见图1所示,在现有技术中一般采用客户端和服务器端双重校验的方式,用户在客户端输入数据,客户端采用校验规则I进行数据校验,当校验未通过需要返回给提交表单,对通过客户端校验的输入服务器进行服务器校验,如果通过校验进行后续处理,如果未通过校验需要将输入数据返回给客户端提交表单。
[0057]经研究发现,现有技术至少存在以下问题:
[0058]第一,如图1所示,校验规则I和校验规则2是需要保持一致的,但是客户端和服务器中运行不同的语言编写的代码,那么客户端和服务器的校验代码就需要严格按照校验规则I和校验规则2编写,不能出现代码功能与实际的校验规则不一致的情况。后续如果需要修改校验规则的时候,需同步修改实现校验规则I和校验规则2的校验代码(校验规则I对应于客户端校验代码,校验规则2对应于服务器校验代码),才可以确保客户端校验规则和服务器校验规则保持一致,但是同步修改校验代码就有可能出现修改操作遗漏了客户端校验代码修改或者遗漏了服务器校验代码修改,或者修改以后,客户端和服务器校验代码生效的校验规则不一致,这些情况都是直接影响系统功能稳定性。假如程序版本一中对密码的校验规则是必须是6位字母和数字组成,那么此时服务器和客户端校验都需要将上述校验规则写入到校验代码中;如果程序版本二中需要对上述校验规则进行修改,那么在此种方式下需要对客户端和服务器两部分的校验代码进行同样的修改操作(如图1中需要对实现校验规则I和实现校验规则2的校验规则进行同样的修改操作),这样易出现客户端和服务器校验规则不一致的情况,或者只是修改了客户端校验代码或服务器校验代码,从而直接影响系统功能的使用。
[0059]第二,如果服务器校验结果为非法的时候,需要将用户输入的数据传回到用户提交数据的页面,并重新写入页面反显出来,这需要客户端将服务器返回的数据逐个字段回填到页面上相应的位置,增加了实现难度,而且当页面元素发生变化的时候,服务端返回数据重写到页面的过程也需要相应的修改,过程复杂,不利于后期的维护。
[0060]为此,本发明实施例提出一种输入数据校验的方法、装置及系统,以解决现有技术存在的上述问题。
[0061]本发明实施例将从输入数据校验装置的角度进行描述,该输入数据校验的装置具体可以集成在服务器中。
[0062]参见图2所示,本发明实施例中提供的输入数据校验的方法实施例,可以包括以下步骤:
[0063]步骤201:保存预先设置的校验配置文件,校验配置文件包括校验规则,校验规则包括规则名称以及规则值。
[0064]校验规则可以理解为输入数据所需要满足的条件,例如某个校验规则为输入数据至少是6位数字和/或字母的组合。校验配置文件中可以包括对各类数据输入的校验规贝U,规则值可以由正则表达式定义,例如,规则名称为tel印hone,规则值为0\d{2}-\d{8},代表输入电话号码的校验规则。
[0065]通过修改校验配置文件可以定义各类输入数据的校验规则,校验配置文件可以为json格式或者XML (Extensible Markup Language,可扩展标记语言)格式,也可以存放在数据库中的。本实施例优选使用json格式存放校验配置文件,因为json格式的数据目前在各种语言中都有较好的解析,同时相对于XML或者数据库存放的方式也更加轻量化。
[0066]步骤202:读取校验配置文件,根据校验配置文件自动生成服务器校验代码以及客户端校验代码。
[0067]在本发明的一些实施例中,读取校验配置文件,根据校验配置文件自动生成客户端校验代码以及服务器校验代码的具体实现可以包括:
[0068]读取校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码。
[0069]具体的,可以读取校验配置文件中的规则名称获取待校验的页面元素值,读取校验配置文件中的规则值获得页面元素值对应的规则值;通过服务器语言自动生成判断页面元素值是否符合规则值的客户端校验代码以及服务器校验代码。
[0070]步骤203:将客户端校验代码发送给客户端,以使客户端在接收到第一输入数据时,利用客户端校验代码对第一输入数据进行校验。
[0071]客户端在用户利用提交表单输入数据(即第一输入数据)时,可以利用客户端校验代码对第一输入数据进行校验,通过了客户端校验的数据可以输入给服务器端,输入到服务器的数据可以为第二输入数据。
[0072]步骤204:接收客户端输入的第二输入数据,利用服务器校验代码对第二输入数据进行校验,当第二输入数据未通过校验,则将当前第二输入数据返回给客户端。
[0073]本发明实施例通过分析上述现有技术的第一点技术问题,可以得到产生该技术问题的主要原因是由于客户端校验代码和服务器校验代码为两个不同的程序语言写成的版本,所以后期如果要修改的话需要维护两份不同的校验代码,因此本发明实施例的核心之一是通过统一客户端校验代码和服务器校验代码,从而解决如果修改校验规则需要同步修改客户端和服务器端校验代码,效率较低的技术问题。这里的统一不是指客户端和服务器使用相同的代码,而是考虑从另外一个方面来实现,参见图3所示:通过服务器语言,结合校验配置文件自动生成客户端校验代码,将客户端校验代码发送给客户端。需要注意的是,本发明实施例是通过程序自动生成客户端校验代码,区别于现有技术中通过手工编写校验代码;同时通过服务器语言,结合同一份校验配置文件自动生成服务器校验代码,同样本发明实施例是通过程序自动生成服务器校验代码,区别于现有技术中通过手工编写校验代码。系统部署以后如果要修改校验规则,则只需要修改一份校验配置文件,即可实现客户端校验代码与服务端校验代码的同步实现,提高效率,简化代码维护。
[0074]在实际应用中,假设客户端使用javascript语言,服务器端使用php语言,统一校验规则的校验配置文件确定以后,比如通过json格式存放在txt文档中,系统部署的时候,将该校验配置文件存放在服务器上的某个磁盘位置上,每天日终的时候可以通过定时任务使用PHP代码根据该校验配置文件自动生成客户端校验代码的文件(javascript文件)和服务端校验代码的文件(Php文件),并替换掉服务器上的相同文件名的文件(也即前一天日终的时候生成的文件),这样只要O保证生成校验代码文件的PHP程序代码正确即可,如果以后需要新增校验规则,只需要维护一个校验配置文件,服务器和客户端校验代码就能默认保持一致,省却了人工编写客户端校验代码和服务器校验代码的麻烦以及由此可能导致两端不一致的问题。
[0075]在本发明的一些实施例中,具体的,可以接收客户端通过提交表单中嵌入的框架控件输入的第二输入数据;利用服务器校验代码对第二输入数据进行校验;当第二输入数据未通过校验,则将当前第二输入数据返回给客户端提交表单中嵌入的框架控件。
[0076]在传统的页面处理方式中,在提交页面(也即用户输入数据的页面)中可以设定提交表单的处理目的页面,目的页面在服务器端,进行服务器校验,如果校验为非法的时候,目的页面将提交的数据原封不动的返回到提交页面,提交页面通过手工编写代码的方式重新解析这部分返回数据,并重新写入到页面上,以便客户检查校验结果为非法的数据。
[0077]通过分析上述第二点技术问题,产生原因主要是在提交页面中设定表单的处理目的页面,会导致目的页面处理完成以后需要重新返回提交页面(也就刷新了一次提交页面,那么原先提交页面的数据就会丢失),对于此问题,本专利实施例中通过在提交页面中嵌入iframe框架控件,并将其设置为不可见,将iframe的目的页面设置为服务器地址,则目的页面不在新页面内执行,而是在该iframe内部执行。这样,目的页面的执行也就可视为在本提交页面内,当目的页面返回本提交页面的时候,不用重新刷新本提交页面,从而本提交页面内的数据没有丢失,也就不用重新根据目的页面的返回数据通过手工写代码的方式把数据逐个重新写入到提交页面中。
[0078]以下以一个具体应用实例对本发明实施例中提供的输入数据校验的方法实施例进行进一步说明。
[0079]首先,定义并保存校验配置文件,校验配置文件中通过正则表达式定义了各类校验规则。
[0080]举例通过json格式存放的校验配置文件如下,该文件可以保存为txt格式:
[0081]{
[0082][ “rulename”: ” telephone,,,” rulevalue”: ” 0\d {2}-\d {8} ” ],
[0083][ “rulename”: ” email”, ”rulevalue,,: ”
[0084](\w+ ([-+.] \w+) *@\w+ ([-.] \w+) *\.\w+ ([-.] \w+) * ;)*,,]
[0085]}
[0086]上述校验配置文件分别定义了电话号的校验规则,规则名称为tel印hone,规则值为0\d{2}-\d{8},以及emial地址的校验规则,规则名称为email,规则值为(\w+ ([-+.] \w+) *i\w+ ([-.] \w+) *\.\w+ ([-.] \w+) * ;)*,,]。
[0087]服务器中运行生成校验代码的程序,生成校验代码的程序根据前一步骤中的校验配置文件,生成相应的客户端校验代码(例如javascript代码)以及服务器校验代码(例如PHP代码),具体生成过程为:以配置文件中规则名称rulename的值来获取具体的页面元素,以配置文件中的规则值rulevalue的值(正则表达式)来判断获取的页面元素内容是否满足正则表达式。最终生成的客户端校验代码javascript如下(以上述校验配置文件为例):
[0088]$( ‘.telephone,).blur (funct1n O {
[0089]var result = this, value, match(/0\d{2}-\d{8}/);
[0090]if (result == null) return false ;
[0091]return true;});
[0092]$( ‘.email,).blur (funct1n () {
[0093]var result = this, value, match (/ (\w+ ([-+.] \w+) *i\w+ ([-.] \w+) *\.\w+ ([-.]\w+)* ;)*/);
[0094]if (result == null) return false ;
[0095]return true;});
[0096]上述校验代码规则名称和规则值部分即为从校验配置文件中读取出来的信息,SP把校验配置文件中的校验规则,通过服务器的程序生成到客户端校验代码(javascript代码)中。该校验代码的作用是分别查找类class属性为email的控件,并检查其内容是否符合0\d{2}_\d{8}正则表达式的规范,查找class属性为telephone的控件,并检查其内容是否符合(\w+ ( [-+.] \w+) *i\w+ ( [-.]\w+)*\.\w+ ( [-.]\w+)* ;)* 正则表达式的规范。
[0097]自动生成的服务器校验代码也类似于客户端校验代码,在此不再赘述。
[0098]在该过程中,只需编写过一次生成校验代码的程序(用于生成服务器校验代码以及客户端校验代码),如果有新的校验规则需要添加,只需修改包括校验规则的校验配置文件,重新生成客户端校验代码以及服务器校验代码即可,从而降低了程序维护的复杂度,保证程序的安全性。
[0099]另外,客户端页面(即与用户交互的页面,用于用户输入数据)还需要做三件关键的设置:
[0100]一、每一个需要校验的输入控件,比如需要输入电话号码的控件〈input〉,我们将该控件的属性class的值设置为“telephone”,需要输入邮件地址的控件〈input〉,我们将该控件的属性class的值设置为“email”,其中telephone和email即为校验配置文件中的规则名称rulename的值。在这里,如果某一个控件需要校验某一种规则,则校验配置文件中需要写入这种规则的正则表达式作为规则值rulevalue,然后设置该规则的规则名称rulename,最后将客户端输入控件的class属性设置为rulename即可。
[0101]二、在客户端页面中调用统一的客户端校验代码,S卩服务器通过生成校验代码的程序生成客户端校验代码(javascript代码)。
[0102]三、在该客户端页面中嵌入iframe控件,并设置属性为hiden。将用户提交数据表单的目标target设置为该iframe。即可以避免返回数据时刷新网页。
[0103]这样,本发明实施例通过使用统一的校验配置文件,并根据校验配置文件自动生成用于客户端的校验代码以及用于服务器的校验代码,如果修改了校验规则,只需要维护校验配置文件即可同步修改服务器校验代码以及客户端校验代码,省去了人工编写修改服务器校验代码以及客户端校验代码的步骤,从而提高了校验代码生成、修改的效率,也可以避免服务器以及客户端校验规则不一致的问题。另外,通过客户端提交表单中嵌入的框架控件,避免了在数据返回时刷新页面,从而不再需要将数据回填到提交页面,节省了维护成本。
[0104]相应的,参见图4所示,本发明实施例中还提供一种输入数据校验的装置实施例,可以包括:
[0105]保存单元401,用于保存预先设置的校验配置文件,校验配置文件包括校验规则,校验规则包括规则名称以及规则值。
[0106]生成单元402,用于读取校验配置文件,根据校验配置文件自动生成服务器校验代码以及客户端校验代码。
[0107]发送单元403,用于将客户端校验代码发送给客户端,以使客户端在接收到第一输入数据时,利用客户端校验代码对第一输入数据进行校验。
[0108]校验单元404,用于接收客户端输入的第二输入数据,利用服务器校验代码对第二输入数据进行校验,当第二输入数据未通过校验,则将当前第二输入数据返回给客户端。
[0109]在本发明的一些实施例中,生成单元可以具体用于:读取校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码。
[0110]在本发明的一些实施例中,生成单元可以包括:
[0111]读取子单元,用于读取校验配置文件中的规则名称获取待校验的页面元素值,读取校验配置文件中的规则值获得页面元素值对应的规则值;
[0112]生成子单元,用于通过服务器语言自动生成判断页面元素值是否符合规则值的客户端校验代码以及服务器校验代码。
[0113]在本发明的一些实施例中,校验单元可以包括:
[0114]接收子单元,用于接收客户端通过提交表单中嵌入的框架控件输入的第二输入数据。
[0115]校验子单元,用于利用服务器校验代码对第二输入数据进行校验。
[0116]结果返回子单元,用于当第二输入数据未通过校验,则将当前第二输入数据返回给客户端提交表单中嵌入的框架控件。
[0117]这样,本发明实施例通过使用统一的校验配置文件,并根据校验配置文件自动生成用于客户端的校验代码以及用于服务器的校验代码,如果修改了校验规则,只需要维护校验配置文件即可同步修改服务器校验代码以及客户端校验代码,省去了人工编写修改服务器校验代码以及客户端校验代码的步骤,从而提高了校验代码生成、修改的效率,也可以避免服务器以及客户端校验规则不一致的问题。另外,通过客户端提交表单中嵌入的框架控件,避免了在数据返回时刷新页面,从而不再需要将数据回填到提交页面,节省了维护成本。
[0118]相应的,参见图5所示,本发明实施例中还提供一种输入数据校验的系统实施例,可以包括:
[0119]服务器501以及客户端502 ;
[0120]其中,服务器可以是上述实施例中的输入数据校验的装置实施例;
[0121]客户端可以用于接收客户端校验代码,在接收到第一输入数据时,利用客户端校验代码对第一输入数据进行校验;向服务器发送第二输入数据,第二输入数据是通过校验的第一输入数据;接收服务器返回的未通过校验的第二输入数据。
[0122]在本发明的一些实施例中,客户端可以具体用于:
[0123]接收客户端校验代码,在接收到第一输入数据时,利用客户端校验代码对第一输入数据进行校验;通过提交表单中嵌入的框架控件向服务器发送第二输入数据,第二输入数据是通过校验的第一输入数据;利用提交表单中嵌入的框架控件接收服务器返回的未通过校验的第二输入数据。
[0124]这样,本发明实施例通过使用统一的校验配置文件,并根据校验配置文件自动生成用于客户端的校验代码以及用于服务器的校验代码,如果修改了校验规则,只需要维护校验配置文件即可同步修改服务器校验代码以及客户端校验代码,省去了人工编写修改服务器校验代码以及客户端校验代码的步骤,从而提高了校验代码生成、修改的效率,也可以避免服务器以及客户端校验规则不一致的问题。另外,通过客户端提交表单中嵌入的框架控件,避免了在数据返回时刷新页面,从而不再需要将数据回填到提交页面,节省了维护成本。
[0125]需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0126]还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0127]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0128]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种输入数据校验的方法,其特征在于,所述方法包括: 保存预先设置的校验配置文件,所述校验配置文件包括校验规则,所述校验规则包括规则名称以及规则值; 读取所述校验配置文件,根据所述校验配置文件自动生成服务器校验代码以及客户端校验代码; 将所述客户端校验代码发送给客户端,以使所述客户端在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验; 接收客户端输入的第二输入数据,利用所述服务器校验代码对所述第二输入数据进行校验,当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述读取所述校验配置文件,根据所述校验配置文件自动生成客户端校验代码以及服务器校验代码,包括: 读取所述校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码。
3.根据权利要求2所述的方法,其特征在于,读取所述校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码,包括: 读取所述校验配置文件中的规则名称获取待校验的页面元素值,读取所述校验配置文件中的规则值获得所述页面元素值对应的规则值; 通过服务器语言自动生成判断所述页面元素值是否符合所述规则值的客户端校验代码以及服务器校验代码。
4.根据权利要求1所述的方法,其特征在于,接收第二输入数据,利用所述服务器校验代码对所述第二输入数据进行校验,当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端,包括: 接收所述客户端通过提交表单中嵌入的框架控件输入的第二输入数据; 利用所述服务器校验代码对所述第二输入数据进行校验; 当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端提交表单中嵌入的框架控件。
5.一种输入数据校验的装置,其特征在于,所述装置包括: 保存单元,用于保存预先设置的校验配置文件,所述校验配置文件包括校验规则,所述校验规则包括规则名称以及规则值; 生成单元,用于读取所述校验配置文件,根据所述校验配置文件自动生成服务器校验代码以及客户端校验代码; 发送单元,用于将所述客户端校验代码发送给客户端,以使所述客户端在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验; 校验单元,用于接收客户端输入的第二输入数据,利用所述服务器校验代码对所述第二输入数据进行校验,当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端。
6.根据权利要求5所述的装置,其特征在于,所述生成单元具体用于: 读取所述校验配置文件,通过服务器语言根据校验配置文件自动生成客户端校验代码以及服务器校验代码。
7.根据权利要求6所述的装置,其特征在于,所述生成单元包括: 读取子单元,用于读取所述校验配置文件中的规则名称获取待校验的页面元素值,读取所述校验配置文件中的规则值获得所述页面元素值对应的规则值; 生成子单元,用于通过服务器语言自动生成判断所述页面元素值是否符合所述规则值的客户端校验代码以及服务器校验代码。
8.根据权利要求5所述的装置,其特征在于,所述校验单元包括: 接收子单元,用于接收所述客户端通过提交表单中嵌入的框架控件输入的第二输入数据; 校验子单元,用于利用所述服务器校验代码对所述第二输入数据进行校验; 结果返回子单元,用于当所述第二输入数据未通过校验,则将当前所述第二输入数据返回给所述客户端提交表单中嵌入的框架控件。
9.一种输入数据校验的系统,其特征在于,所述系统包括: 服务器以及客户端; 所述服务器是权利要求5-8任一项所述的输入数据校验的装置; 所述客户端用于接收客户端校验代码,在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验;向所述服务器发送第二输入数据,所述第二输入数据是通过校验的所述第一输入数据;接收所述服务器返回的未通过校验的第二输入数据。
10.根据权利要求9所述的系统,其特征在于,所述客户端具体用于: 接收客户端校验代码,在接收到第一输入数据时,利用所述客户端校验代码对所述第一输入数据进行校验; 通过提交表单中嵌入的框架控件向所述服务器发送第二输入数据,所述第二输入数据是通过校验的所述第一输入数据; 利用所述提交表单中嵌入的框架控件接收所述服务器返回的未通过校验的第二输入数据。
【文档编号】H04L29/06GK104270395SQ201410578530
【公开日】2015年1月7日 申请日期:2014年10月24日 优先权日:2014年10月24日
【发明者】章梦, 何明杰, 傅强, 张兴强, 庞以新, 骆国生, 马林, 朱伙, 赵欣, 庞云鹏 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1