表单注册方法及服务器的制作方法

文档序号:7748143阅读:229来源:国知局
专利名称:表单注册方法及服务器的制作方法
技术领域
本申请涉及网络技术领域,尤其涉及一种表单注册方法及服务器。
背景技术
表单是指网页上包含的与用户交互的控件集合,每个表单相当于一个容器,其中包含按钮、提交、重置、文本框、下拉框等控件,这些控件也称为表单元素,表单作为数据采集的工具,可以应用在例如网站注册的场合,通过表单采集用户的姓名、密码、联系方式等元素信息。用户通过表单页面提交注册信息时,向服务器发出HTTP的POST请求, 例如,用于注册的表单页面中会向用户提供输入验证码的输入框元素,其HTML代码如下 <inputclass = “ J_Field code-input“ maxlength = “ 4“ name =“ checkCode“ id ="J_Code〃 type = “ text" tabindex = 〃 5〃 />。上述的 HTML 代码中的 “name,,属性即为POST请求中输入框元素的数据的域名称,其中“checkCode”为输入框控件的name 名称的属性值,例如,当用户输入的“checkCode”为“Q6ST”时,则服务器从POST请求中即可直接获取该数据“checkCode = Q6ST”。以一个注册表单为例,假设该表单中需要填写的项目,即数据域包括多个表单元素,这些表单元素的名称分别为“电子邮箱”、“会员名”、“登录密码”、“确认密码”和 “验证码”,这些表单元素的名称的属性值分别为“emai 1,,、"nickname,,、“password”、 "checkcode",则用户点击“提交注册”按钮后发出的POST请求中的数据为email = registertest@taobao. com&nickname = registertest&password = tbl234&c—password = tbl234&checkcode = pgcz发明人在对现有技术的研究过程中发现,由于表单注册的POST请求中的元素名称是固定的,网络中的滥注程序可以通过组装POST请求的数据模板就可以模拟用户的注册行为,例如上述注册表单对应的注册模板为“email =邮箱名fenickname =账号 &password =密码&c_password =密码&checkcode =验证码”。由此可知,现有技术中的滥注程序通过表单页面的固定元素名称属性组装POST表单数据,由此模拟用户提交表单页面,因此对于如淘宝(tacAao. com)这样的大型网站来说,可能会因为滥注而降低系统的安全性,增加服务器的负担。

发明内容
本申请实施例的目的是提供一种表单注册方法及服务器,以解决现有技术中容易进行表单滥注导致系统安全性降低、服务器负担增加的问题。为解决上述技术问题,本申请实施例提供了一种表单注册方法,它是这样实现的一种表单注册方法,包括接收客户端发送的表单注册请求后,将表单中的表单元素的名称的属性值进行加密,得到加密后的字符串密文;
4
将所述表单输出至所述客户端,所述表单中的表单元素的名称的属性值为所述加密后的字符串密文;接收客户端提交的表单注册信息后,提取所述表单注册信息中每个表单元素的名称的属性值和对应的注册数据;对表单元素的名称的属性值为字符串密文的名称的属性值进行解密,得到解密后的表单元素的名称的属性值。为解决上述技术问题,本申请实施例还提供了一种服务器,是这样实现的一种服务器,包括接收单元,用于接收客户端发送的表单注册请求;加密单元,用于将表单中的表单元素的名称的属性值进行加密,得到加密后的字符串密文;输出单元,用于将所述表单输出至所述客户端,所述表单中的表单元素的名称的属性值为所述加密后的字符串密文;提取单元,用于接收客户端提交的表单注册信息后,提取所述表单注册信息中每个表单元素的名称的属性值和对应的注册数据;解密单元,用于对表单元素的名称的属性值为字符串密文的名称的属性值进行解密,得到解密后的表单元素的名称的属性值。可见,本申请实施例中接收客户端发送的表单注册请求后,将表单中的表单元素的名称的属性值进行加密,得到加密后的字符串密文,将表单输出至客户端,该表单中的表单元素的名称的属性值为加密后的字符串密文,接收客户端提交的表单注册信息后,提取表单注册信息中每个表单元素的名称的属性值和对应的注册数据,对表单元素的名称的属性值为字符串密文的名称的属性值进行解密,得到解密后的表单元素的名称。本申请实施例中由于对表单元素的名称进行加密,因此每次输出的表单中表单元素的名称的属性值都是动态生成的加密后的字符串,而不是该表单元素的原始名称的属性值,因此用户提交的注册信息中的表单元素的名称的属性值也是动态变化的,第三方由于不知道相应的解密算法,无法对表单元数的名称的属性值进行模拟组装,由此有效提高了系统的安全性,减轻了服务器上因为滥注而增加的负担。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请表单注册方法的第一实施例流程图;图2为本申请表单注册方法的第二实施例流程图;图3为本申请表单注册方法的第三实施例流程图;图4为本申请服务器的第一实施例框图;图5为本申请服务器的第二实施例框图。
具体实施例方式本申请实施例提供一种表单注册方法及服务器。为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。参见图1,为本申请表单注册方法的第一实施例流程图步骤101:接收客户端发送的表单注册请求后,将表单中的表单元素的名称的属性值进行加密,得到加密后的字符串密文。用户通过客户端浏览器浏览某个网站主页时,可能希望注册成为该网站的会员, 而注册的页面通常为表单页面,表单页面中包含按钮、提交、重置、文本框、下拉框等表单元素,通过表单可以采集用户的注册名、密码、联系方式等信息。以淘宝网为例,用户可以点击网页上的“注册”按钮,该点击动作相当于客户端向服务器发送一个表单注册请求,向服务器请求用于注册淘宝网的注册表单。服务器接收到注册请求后,调取注册表单,与现有技术直接输出所调取的注册表单不同,本申请实施例中对表单元素的名称的属性值进行加密,使得表单元素的名称的属性值成为加密的字符串密文。在加密时,可以选择对表单中的所有表单元素的名称的属性值分别进行加密,也可以选择仅对预先设置的若干表单元素的名称的属性值进行加密,对此本申请实施例不进行限制。以表单中包含的表单元素的名称为“注册名”和“密码”为例, “注册名”这个表单元素的元素名称的属性值为“nickname”,“密码”这个表单元素的元素名称的属性值为“password”,则可以选择对“nickname”和“password”都进行加密,也可以仅对二者之一进行加密。在对表单元素的名称的属性值进行加密时,可以选择现有的各种加密方式,例如, 选择现有的Blowfish算法进行加密解密,由于加密和解密操作都在服务器侧进行,因此服务器只要预先设置相应的加密和解密方式对元素名称进行操作即可识别出所提交的注册信息是否有效。步骤102 将表单输出至客户端,该表单中的表单元素的名称的属性值为加密后的字符串密文。服务器对表单中的表单元素的名称的属性值进行加密后,重置该表单中加密的元素名称的属性值为加密后的字符串密文。例如,加密的表单元素“密码”的名称的属性值为 "password",对“password”加密后的字符串密文假设为“akoILGKok”,则将“密码”的名称的属性值由“password”重置为“akoILGKok”。服务器向客户端输出的表单在客户端显示时,仍然以表单元素的形式显示,即用户在客户端浏览器中看到的注册表单与现有技术没有区别,都展示了 “密码”、“注册名”等表单元素,只是该注册表单中加密过的表单元素的名称的属性值已经发生变化。步骤103 接收客户端提交的表单注册信息后,提取表单注册信息中每个表单元素的名称的属性值和对应的注册数据。用户填写好注册表单后,点击注册页面上的“提交注册”按钮,该点击动作相当于向服务器发出了一个HTTP请求,该HTTP请求中包含了表单注册信息,该注册信息的存在方式为“表单元素的名称的属性值+注册数据”。仍然以注册表单中包含表单元素“注册名”和“密码”为例,且服务器已经将“密码”的名称的属性值由“password”重置为“akoILGKok”,假设用户输入的“注册名,,为“aff”,密码为“ 123456”,则客户端提交的表单注册信息相应为 "nickname = aff&akoILGKok = 12;3456”,从该注册信息中提取出名称的属性值“nickname” 对应的注册数据为“aff”,名称的属性值“akoILGKok”对应的注册数据为“123456”。步骤104 对表单元素的名称的属性值为字符串密文的名称的属性值进行解密, 得到解密后的表单元素的名称的属性值。与步骤101中的加密操作相对应,如果对表单中的所有表单元素的名称都加密, 则本步骤中分别对提交上来的每个表单元素的名称的属性值都进行解密,如果对表单中的部分表单元素的名称进行了加密,则本步骤中只需要对加密过的表单元素的名称的属性值进行解密即可。例如,对于步骤103中提取出的名称的属性值“nickname”对应的注册数据为“aff ”,名称的属性值“akoILGKok”对应的注册数据为“123456”,则对“akoILGKok” 通过与加密算法对应的解密算法进行解密即可获得解密后的表单元素的名称的属性值为 “password,,。图2为本申请表单注册方法的第二实施例流程图,该实施例示出了对表单中的部分表单元素的名称进行加密的表单注册过程步骤201 接收客户端发送的表单注册请求。用户通过客户端浏览器浏览某个网站主页时,可能希望注册成为该网站的会员, 而注册的页面通常为表单页面,表单页面中包含按钮、提交、重置、文本框、下拉框等表单元素,通过表单可以采集用户的注册名、密码、联系方式等信息。以淘宝网为例,用户可以点击网页上的“注册”按钮,该点击动作相当于客户端向服务器发送一个表单注册请求,向服务器请求用于注册淘宝网的注册表单。步骤202 获取预先设置的至少一个表单元素。由于对注册表单中的所有表单元素的名称的属性值都进行加密将会加重服务器的负担,特别是在注册表单中包含的表单元素数量较多的时候,服务器的负担更重。因此, 本申请实施例中可以选择仅对部分表单元素的名称的属性值进行加密,例如,可以预先设置仅对表单元素“验证码”的名称的属性值“checkcode”进行加密,或者也可以按照预设规则随机选取一定数量的表单元素,对所选取的表单元素的名称的属性值进行加密,这样更能增强注册表单的安全性。步骤203 对获取的至少一个表单元素的名称的属性值进行加密,得到加密后的字符串密文。本申请实施例中对获取的至少一个表单元素的名称的属性值进行加密,使其成为加密的字符串密文,对于其它的表单元素的名称的属性值则保持不变。在对表单元素的名称的属性值进行加密时,可以选择现有的各种加密方式,例如,选择现有的Blowfish算法进行加密解密,由于加密和解密操作都在服务器侧进行,因此服务器只要预先设置相应的加密和解密方式对元素名称的属性值进行操作即可识别出所提交的注册信息是否有效。步骤204:将表单输出至客户端,该表单中加密后的表单元素的名称的属性值为加密后的字符串密文。步骤205 接收客户端提交的表单注册信息后,提取表单注册信息中每个表单元素的名称的属性值和对应的注册数据。
服务器对表单中的表单元素的名称的属性值进行加密后,重置该表单中加密的元素名称的属性值为加密后的字符串密文。服务器向客户端输出的表单在客户端显示时,仍然以表单元素的形式显示,即用户在客户端浏览器中看到的注册表单与现有技术没有区别,都展示了“密码”、“注册名”等表单元素的名称,只是该注册表单中加密过的表单元素的名称的属性值已经发生变化。步骤206 根据预先设置的判断规则,从表单元素的名称的属性值中筛选出名称的属性值为字符串密文的名称的属性值。预先设置的判断规则可以为服务器将每个名称的属性值与服务器中保存的表单元素的原始名称的属性值进行对比,如果一致,则不进行处理,如果不一致,则确定该名称的属性值为字符串密文,进行下一步的解密处理;或者,预先设置的判断规则为判断每个名称的属性值的字符串长度是否大于预先设置的阈值,通常加密后的字符串长度较长,因此可以将长度大于阈值的字符串密文确定为加密后的名称的属性值,进一步地,还可以同时判断每个名称的属性值的字符串是否具有典型的编码后的特征,也就是是否能够通过解码规则进行解码,如果可以解码则确定为加密后的名称的属性值。步骤207 对表单元素的名称的属性值为字符串密文的名称的属性值进行解密, 得到解密后的表单元素的名称的属性值。与步骤203中的加密操作相对应,由于本实施例中对表单中的部分表单元素的名称的属性值进行了加密,则本步骤中只需要对加密过的表单元素的名称的属性值进行解密,即对步骤206中筛选出的名称的属性值为字符串密文的名称的属性值进行解密即可。参见图3,为本申请表单注册方法的第三实施例流程图,该实施例以对一个表单元素的名称进行加密为例,详细示出了表单注册的过程步骤301 接收客户端发送的表单注册请求。用户通过客户端浏览器浏览某个网站主页时,可能希望注册成为该网站的会员, 而注册的页面通常为表单页面,表单页面中包含按钮、提交、重置、文本框、下拉框等表单元素,通过表单可以采集用户的注册名、密码、联系方式等信息。以淘宝网为例,用户可以点击网页上的“注册”按钮,该点击动作相当于客户端向服务器发送一个表单注册请求,向服务器请求用于注册淘宝网的注册表单。本实施例中假设注册表单包含如下表1所示的表单元素,该表1中同时示出了每个表单元素对应的原始名称表 权利要求
1.一种表单注册方法,其特征在于,包括接收客户端发送的表单注册请求后,将表单中的表单元素的名称的属性值进行加密, 得到加密后的字符串密文;将所述表单输出至所述客户端,所述表单中的表单元素的名称的属性值为所述加密后的字符串密文;接收客户端提交的表单注册信息后,提取所述表单注册信息中每个表单元素的名称的属性值和对应的注册数据;对表单元素的名称的属性值为字符串密文的名称的属性值进行解密,得到解密后的表单元素的名称的属性值。
2.根据权利要求1所述的方法,其特征在于,所述将表单中的表单元素的名称的属性值进行加密包括获取预先设置的至少一个表单元素;对所述获取的至少一个表单元素的名称的属性值进行加密。
3.根据权利要求2所述的方法,其特征在于,所述对表单元素的名称的属性值为字符串密文的名称的属性值进行解密之前,还包括根据预先设置的判断规则,从所述表单元素的名称的属性值中筛选出名称的属性值为字符串密文的名称的属性值。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述将表单中的表单元素的名称的属性值进行加密包括为待加密的每个表单元素分别生成随机串;将所述每个表单元素的名称的属性值与所生成的随机串进行组合,生成字符串明文;通过预先设置的加密算法对所述字符串明文进行加密。
5.根据权利要求4所述的方法,其特征在于,所述对表单元素的名称的属性值为字符串密文的名称的属性值进行解密包括通过预先设置的与所述加密算法相对应的解密算法对所述筛选出的字符串密文进行解密,生成字符串明文;从所述字符串明文中拆分出随机串,获得所述表单元素的名称的属性值。
6.根据权利要求1所述的方法,其特征在于,所述将表单中的表单元素的名称的属性值进行加密后,还包括对所述加密后的字符串密文进行编码;所述对表单元素的名称的属性值为字符串密文的名称的属性值进行解密前,还包括 对所述表单元素的名称的属性值为字符串密文的名称的属性值进行解码。
7.一种服务器,其特征在于,包括接收单元,用于接收客户端发送的表单注册请求;加密单元,用于将表单中的表单元素的名称的属性值进行加密,得到加密后的字符串密文;输出单元,用于将所述表单输出至所述客户端,所述表单中的表单元素的名称的属性值为所述加密后的字符串密文;提取单元,用于接收客户端提交的表单注册信息后,提取所述表单注册信息中每个表单元素的名称的属性值和对应的注册数据;解密单元,用于对表单元素的名称的属性值为字符串密文的名称的属性值进行解密, 得到解密后的表单元素的名称的属性值。
8.根据权利要求7所述的服务器,其特征在于,所述加密单元包括元素获取单元,用于获取预先设置的至少一个表单元素;名称加密单元,用于对所述获取的至少一个表单元素的名称的属性值进行加密。
9.根据权利要求8所述的服务器,其特征在于,还包括筛选单元,用于根据预先设置的判断规则,从所述表单元素的名称的属性值中筛选出名称的属性值为字符串密文的名称的属性值。
10.根据权利要求7至9任意一项所述的服务器,其特征在于,所述加密单元包括随机串生成单元,用于为待加密的每个表单元素分别生成随机串;明文生成单元,用于将所述每个表单元素的名称与所生成的随机串进行组合,生成字符串明文;字符串加密单元,用于通过预先设置的加密算法对所述字符串明文进行加密。
11.根据权利要求10所述的服务器,其特征在于,所述解密单元包括密文解密单元,用于通过预先设置的与所述加密算法相对应的解密算法对所述筛选出的字符串密文进行解密,生成字符串明文;字符串拆分单元,用于从所述字符串明文中拆分出随机串,获得所述表单元素的名称的属性值。
12.根据权利要求7所述的服务器,其特征在于,还包括编码单元,用于对所述加密单元加密后的字符串密文进行编码;解码单元,用于对所述提取单元提取出的表单元素的名称的属性值为字符串密文的名称的属性值进行解码。
全文摘要
本申请实施例公开了一种表单注册方法及服务器,该方法包括接收客户端发送的表单注册请求后,将表单中的表单元素的名称的属性值进行加密,得到加密后的字符串密文;将表单输出至客户端,表单中的表单元素的名称的属性值为加密后的字符串密文;接收客户端提交的表单注册信息后,提取表单注册信息中每个表单元素的名称的属性值和对应的注册数据;对表单元素的名称的属性值为字符串密文的名称的属性值进行解密,得到解密后的表单元素的名称的属性值。本申请实施例中每次输出的表单中表单元素的名称的属性值都是动态生成的加密后的字符串,因此第三方由于不知道相应的解密算法,无法对表单元数的名称的属性值进行模拟组装,由此提高了系统的安全性。
文档编号H04L29/06GK102238150SQ201010165709
公开日2011年11月9日 申请日期2010年5月6日 优先权日2010年5月6日
发明者庄卓然, 李令龙, 陈萍 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1