CN106778199A - 图片验证码的处理方法及处理装置 - Google Patents
图片验证码的处理方法及处理装置 Download PDFInfo
- Publication number
- CN106778199A CN106778199A CN201611074434.1A CN201611074434A CN106778199A CN 106778199 A CN106778199 A CN 106778199A CN 201611074434 A CN201611074434 A CN 201611074434A CN 106778199 A CN106778199 A CN 106778199A
- Authority
- CN
- China
- Prior art keywords
- character
- code
- checking
- pseudo
- picture validation
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Character Discrimination (AREA)
Abstract
本发明提供了一种图片验证码的处理方法和图片验证码的处理装置,其中,所述图片验证码的处理方法包括:接收来自用户终端的验证码获取请求;根据所述验证码获取请求获取验证码字符和伪码字符;将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息;将所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。通过本发明的技术方案,可以有效地增加图片验证码的识别难度,从而提高信息的安全性,提升用户体验。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种图片验证码的处理方法和一种图片验证码的处理装置。
背景技术
目前,图片验证码方案在互联网中应用广泛,主要作为分辨恶意程序和人类的重要手段。为了增加恶意程序通过图像识别等技术手段获得图片验证码内容的难度,以提高信息获取的安全性,服务端一般通过扭曲、粘连、噪点、动画等方式对原始图片验证码进行处理,从而增加程序识别图像的难度,但图片验证码仍有相当大的几率被程序识别。
而且,打码平台的出现使得上述对抗手段完全失效。这是由于打码平台聚集了大量利用闲散时间进行肉眼识别图片验证码进行赚钱的人,恶意程序获取图片验证码后,转发给打码平台上的码工供其识别,然后使用码工识别出来的结果达到骗过服务端的目的。
综上,目前常用的图片验证码技术至少存在以下缺陷:
(1)恶意程序可以低成本获取到有效的图片验证码;
(2)图片验证码和用户终端的环境无关,使得图片验证码可以被发送到其他地方进行人工识别。
因此,如何解决上述问题,有效地增加图片验证码的识别难度,从而提高信息的安全性,提升用户体验成为目前亟待解决的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,通过采用伪码字符混淆图片验证码中有效的验证码字符,且用户终端需要借助字符定位信息才能获得正确有效的验证码字符,而无法通过图像识别技术或人眼识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
有鉴于此,根据本发明的第一方面,提出了一种图片验证码的处理方法,包括:接收来自用户终端的验证码获取请求;根据所述验证码获取请求获取验证码字符和伪码字符;将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息;将所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。
在该技术方案中,当接收到用户终端发来的验证码获取请求时,首先在数据库中取得本次需要反馈给用户终端的验证码字符,同时取得伪码字符,进而将伪码字符加入该验证码字符中以达到混淆图片验证码中的验证码字符的目的,破坏其有效性,而为了使用户终端能够顺利识别出准确有效的验证码字符,需要生成与将伪码字符加入验证码字符中关联的字符定位信息并与图片验证码一同反馈至用户终端,以供用户终端根据该字符定位信息于图片验证码中识别出验证码字符,如此,生成的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
其中,伪码字符与验证码字符的属性相同,比如为数字字符、字母字符或二者的混合等。
在上述技术方案中,优选地,在所述将所述伪码字符加入所述验证码字符中之后、生成所述图片验证码之前,还包括:对将所述伪码字符加入所述验证码字符后生成的初始图片验证码进行降低识别度的预设处理,以得到所述图片验证码。
在该技术方案中,为了进一步增加图片验证码的识别难度,特别是针对图像识别技术和人眼识别技术,可以对将伪码字符加入验证码字符中后生成的初始图片验证码进行降低识别度的预设处理,进而生成最终的反馈给用户终端的图片验证码;其中,降低图片验证码的识别度的预设处理包括扭曲字符、旋转字符、在图片验证码中设计噪点或者调节图片验证码的背景色以接近字符颜色等处理手段。
在上述任一技术方案中,优选地,所述将所述伪码字符加入所述验证码字符中的步骤,具体包括:将所述伪码字符随机***由所述验证码字符组成的至少一组字符中,以打乱所述验证码字符的初始排列顺序。
在该技术方案中,可以将伪码字符拆开分散***验证码字符中,也可以将验证码字符分成多个组,然后将伪码字符拆开分散***多组字符的至少一组字符中,从而达到打乱验证码字符的初始排列顺序的目的,以进一步达到提高图片验证识别难度的目的。
在上述任一技术方案中,优选地,所述字符定位信息用于定位所述验证码字符或者所述伪码字符;以及所述字符定位信息包括字符坐标信息、字符标记信息或经隐藏处理的所述伪码字符。
在该技术方案中,用于供用户终端在图片验证码中定位验证码字符或伪码字符以识别出正确有效的验证码字符的字符定位信息可以以下方式之一存在:
方式一:字符定位信息采用字符坐标信息的形式,具体地,既可以为验证码字符在图片验证码中的坐标信息,也可以为伪码字符在图片验证码中的坐标信息;
方式二:字符定位信息采用字符标记信息的形式,具体地,可以为在将伪码字符加入验证码字符得到混合字符后,将其分成多组,分别使用不同的颜色或字体将每组中的伪码字符或者验证码字符进行标记,并记录该标记信息;
方式三:字符定位信息即为伪码字符,即在将图片验证码反馈至用户终端中时,同时将伪码字符隐藏以不可见的方式附加到图片验证码中一同反馈。
当然,在本发明的其他技术方案中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
在上述任一技术方案中,优选地,还包括:接收所述用户终端基于所述图片验证码识别出的结果字符;将所述结果字符与所述验证码字符进行比对,生成比对结果;将所述比对结果反馈至所述用户终端。
在该技术方案中,还需要接收用户终端反馈的对应图片验证码的识别结果,并将接收到的结果字符与正确有效的验证码字符进行对比,并将比对结果反馈给用户终端,以告知用户终端其识别出的结果字符的正确与否,进而在识别正确时,向用户终端反馈其需要的信息,否则禁止向用户终端反馈信息,从而有效地确保信息的安全性。
根据本发明的第二方面,提出了一种图片验证码的处理装置,包括:接收模块,用于接收来自用户终端的验证码获取请求;获取模块,用于根据所述接收模块接收到的所述验证码获取请求获取验证码字符和伪码字符;生成模块,用于将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息;发送模块,用于将所述生成模块生成的所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。
在该技术方案中,当接收到用户终端发来的验证码获取请求时,首先在数据库中取得本次需要反馈给用户终端的验证码字符,同时取得伪码字符,进而将伪码字符加入该验证码字符中以达到混淆图片验证码中的验证码字符的目的,破坏其有效性,而为了使用户终端能够顺利识别出准确有效的验证码字符,需要生成与将伪码字符加入验证码字符中关联的字符定位信息并与图片验证码一同反馈至用户终端,以供用户终端根据该字符定位信息于图片验证码中识别出验证码字符,如此,生成的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
其中,伪码字符与验证码字符的属性相同,比如为数字字符、字母字符或二者的混合等。
在上述技术方案中,优选地,还包括:处理模块,用于在所述生成模块将所述伪码字符加入所述验证码字符中之后、生成所述图片验证码之前,对将所述伪码字符加入所述验证码字符后生成的初始图片验证码进行降低识别度的预设处理,以得到所述图片验证码。
在该技术方案中,为了进一步增加图片验证码的识别难度,特别是针对图像识别技术和人眼识别技术,可以对将伪码字符加入验证码字符中后生成的初始图片验证码进行降低识别度的预设处理,进而生成最终的反馈给用户终端的图片验证码;其中,降低图片验证码的识别度的预设处理包括扭曲字符、旋转字符、在图片验证码中设计噪点或者调节图片验证码的背景色以接近字符颜色等处理手段。
在上述任一技术方案中,优选地,所述生成模块具体用于:将所述伪码字符随机***由所述验证码字符组成的至少一组字符中,以打乱所述验证码字符的初始排列顺序。
在该技术方案中,可以将伪码字符拆开分散***验证码字符中,也可以将验证码字符分成多个组,然后将伪码字符拆开分散***多组字符的至少一组字符中,从而达到打乱验证码字符的初始排列顺序的目的,以进一步达到提高图片验证识别难度的目的。
在上述任一技术方案中,优选地,所述字符定位信息用于定位所述验证码字符或者所述伪码字符;以及所述字符定位信息包括字符坐标信息、字符标记信息或经隐藏处理的所述伪码字符。
在该技术方案中,用于供用户终端在图片验证码中定位验证码字符或伪码字符以识别出正确有效的验证码字符的字符定位信息可以以下方式之一存在:
方式一:字符定位信息采用字符坐标信息的形式,具体地,既可以为验证码字符在图片验证码中的坐标信息,也可以为伪码字符在图片验证码中的坐标信息;
方式二:字符定位信息采用字符标记信息的形式,具体地,可以为在将伪码字符加入验证码字符得到混合字符后,将其分成多组,分别使用不同的颜色或字体将每组中的伪码字符或者验证码字符进行标记,并记录该标记信息;
方式三:字符定位信息即为伪码字符,即在将图片验证码反馈至用户终端中时,同时将伪码字符隐藏以不可见的方式附加到图片验证码中一同反馈。
当然,在本发明的其他技术方案中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
在上述任一技术方案中,优选地,所述接收模块还用于:接收所述用户终端基于所述图片验证码识别出的结果字符;所述处理模块还用于:将所述结果字符与所述验证码字符进行比对,生成比对结果;所述发送模块还用于:将所述比对结果反馈至所述用户终端。
在该技术方案中,还需要接收用户终端反馈的对应图片验证码的识别结果,并将接收到的结果字符与正确有效的验证码字符进行对比,并将比对结果反馈给用户终端,以告知用户终端其识别出的结果字符的正确与否,进而在识别正确时,向用户终端反馈其需要的信息,否则禁止向用户终端反馈信息,从而有效地确保信息的安全性。
根据本发明的第三方面,提出了一种服务器,包括:如上第二方面实施例中任一项所述的图片验证码的处理装置,因此,该服务器具有如上第二方面的实施例中任一项所述的图片验证码的处理装置的所有有益效果,在此不再赘述。
根据本发明的第四方面,提出了一种图片验证码的处理方法,包括:向服务器发送验证码获取请求;接收所述服务器响应所述验证码获取请求反馈的图片验证码和字符定位信息,所述图片验证码和所述字符定位信息为将伪码字符加入验证码字符中时生成的;根据所述字符定位信息在所述图片验证码中识别出并展示出所述验证码字符;将所述验证码字符反馈至所述服务器进行验证。
在该技术方案中,当接收到服务器响应于验证码获取请求反馈的图片验证码和字符定位信息时,根据该字符定位信息在图片验证码中识别出并向用户展示验证码字符,其中,图片验证码和字符定位信息为将图片验证码中的伪码字符加入验证码字符中时生成的,即图片验证码和字符定位信息之间存在关联关系,进一步地,用户可以查看并输入展示出来的验证码字符至服务器,以供服务器对该验证码字符的正确性进行验证,综上,本发明的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
在上述技术方案中,优选地,所述根据所述字符定位信息在所述图片验证码中识别出并展示验证码字符的步骤,具体包括:根据所述字符定位信息在所述图片验证码中定位所述验证码字符,并展示所述验证码字符;或者根据所述字符定位信息在所述图片验证码中定位所述伪码字符,并隐藏所述伪码字符,以将所述验证码字符展示出来。
在该技术方案中,字符定位信息既可以为验证码字符的定位信息也可以为伪码字符的定位信息,当为验证码字符的定位信息时,则可以直接根据该定位信息在图片验证码中定位到正确有效的验证码字符,从而将其显现出来以展示给用户,该字符定位信息具体可以包括验证码字符的坐标信息或标记信息;而当为伪码字符的定位信息时,则可以通过该字符定位信息在图片验证码中定位出哪些字符为伪码字符并执行将其隐藏的操作,从而使正确有效的验证码字符显现处理以展示给用户,该字符定位信息具体可以包括伪码字符的坐标信息、标记信息或者直接为以不可见的方式隐藏的伪码字符。
当然,在本发明的其他技术方案中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
根据本发明的第五方面,提出了一种图片验证码的处理装置,包括:请求模块,用于向服务器发送验证码获取请求;接收模块,用于接收所述服务器响应所述验证码获取请求反馈的图片验证码和字符定位信息,所述图片验证码和所述字符定位信息为将伪码字符加入验证码字符中时生成的;处理模块,用于根据所述字符定位信息在所述图片验证码中识别出并展示出所述验证码字符;发送模块,用于将所述处理模块处理得到的所述验证码字符反馈至所述服务器进行验证。
在该技术方案中,当接收到服务器响应于验证码获取请求反馈的图片验证码和字符定位信息时,根据该字符定位信息在图片验证码中识别出并向用户展示验证码字符,其中,图片验证码和字符定位信息为将图片验证码中的伪码字符加入验证码字符中时生成的,即图片验证码和字符定位信息之间存在关联关系,进一步地,用户可以查看并输入展示出来的验证码字符至服务器,以供服务器对该验证码字符的正确性进行验证,综上,本发明的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
在上述技术方案中,优选地,所述处理模块具体用于:根据所述字符定位信息在所述图片验证码中定位所述验证码字符,并展示所述验证码字符;或者根据所述字符定位信息在所述图片验证码中定位所述伪码字符,并隐藏所述伪码字符,以将所述验证码字符展示出来。
在该技术方案中,字符定位信息既可以为验证码字符的定位信息也可以为伪码字符的定位信息,当为验证码字符的定位信息时,则可以直接根据该定位信息在图片验证码中定位到正确有效的验证码字符,从而将其显现出来以展示给用户,该字符定位信息具体可以包括验证码字符的坐标信息或标记信息;而当为伪码字符的定位信息时,则可以通过该字符定位信息在图片验证码中定位出哪些字符为伪码字符并执行将其隐藏的操作,从而使正确有效的验证码字符显现处理以展示给用户,该字符定位信息具体可以包括伪码字符的坐标信息、标记信息或者直接为以不可见的方式隐藏的伪码字符。
当然,在本发明的其他技术方案中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
根据本发明的第六方面,提出了一种终端,包括:如上第五方面实施例中任一项所述的图片验证码的处理装置,因此,该终端具有如上第五方面的实施例中任一项所述的图片验证码的处理装置的所有有益效果,在此不再赘述。
本发明的技术方案,通过采用伪码字符混淆图片验证码中有效的验证码字符,且用户终端需要借助字符定位信息才能获得正确有效的验证码字符,而无法通过图像识别技术或人眼识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
附图说明
图1示出了本发明的第一实施例的图片验证码的处理方法的流程示意图;
图2示出了本发明的第一实施例的将伪码字符加入验证码字符中生成图片验证码的示意图;
图3示出了本发明的第二实施例的将伪码字符加入验证码字符中生成图片验证码的示意图;
图4示出了根据本发明的实施例的字符定位信息为字符坐标信息的示意图;
图5示出了本发明的第一实施例的图片验证码的处理装置的示意框图;
图6示出了本发明的第二实施例的图片验证码的处理装置的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明的第一实施例的图片验证码的处理方法的流程示意图。
如图1所示,根据本发明的第一实施例的图片验证码的处理方法,具体包括以下流程步骤:
步骤102,接收来自用户终端的验证码获取请求。
步骤104,根据所述验证码获取请求获取验证码字符和伪码字符。
步骤106,将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息。
步骤108,将所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。
在该实施例中,当接收到用户终端发来的验证码获取请求时,首先在数据库中取得本次需要反馈给用户终端的验证码字符,同时取得伪码字符,进而将伪码字符加入该验证码字符中以达到混淆图片验证码中的验证码字符的目的,破坏其有效性,而为了使用户终端能够顺利识别出准确有效的验证码字符,需要生成与将伪码字符加入验证码字符中关联的字符定位信息并与图片验证码一同反馈至用户终端,以供用户终端根据该字符定位信息于图片验证码中识别出验证码字符,如此,生成的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
其中,伪码字符与验证码字符的属性相同,比如为数字字符、字母字符或二者的混合等。
进一步地,在上述实施例中,在所述步骤106中,将所述伪码字符加入所述验证码字符中之后、生成所述图片验证码之前,还包括:对将所述伪码字符加入所述验证码字符后生成的初始图片验证码进行降低识别度的预设处理,以得到所述图片验证码。
在该实施例中,为了进一步增加图片验证码的识别难度,特别是针对图像识别技术和人眼识别技术,可以对将伪码字符加入验证码字符中后生成的初始图片验证码进行降低识别度的预设处理,进而生成最终的反馈给用户终端的图片验证码;其中,降低图片验证码的识别度的预设处理包括扭曲字符、旋转字符、在图片验证码中设计噪点或者调节图片验证码的背景色以接近字符颜色等处理手段。
进一步地,在上述任一实施例中,所述步骤106中的将所述伪码字符加入所述验证码字符中具体包括:将所述伪码字符随机***由所述验证码字符组成的至少一组字符中,以打乱所述验证码字符的初始排列顺序。
在该实施例中,可以将伪码字符拆开分散***验证码字符中,即将伪码字符拆分为多组字符***验证码字符的不同位置中,如图2所示,伪码字符为“A1B2”、验证码字符为“K0FE1LRCD”,将伪码字符拆分为“2A”、“1”和“B”,分别***验证码字符的“0”和“F”、“E”和“L”以及“R”和“C”之间,混淆后得到图片验证码中的一维线性列表;另外,也可以将验证码字符分成多个组,然后将伪码字符拆开分散***多组字符的至少一组字符中,如图3所示,将验证码字符分为“K0”、“FEL”、“RCD”三组且分列三行,将伪码字符拆分为“2A”、“1”和“B”,进而分别***验证码字符的“0”之后、“E”和“L”以及“R”和“C”之间,混淆后得到图片验证码中的多维线性列表。
通过上述实施例,可以达到打乱验证码字符的初始排列顺序的目的,以进一步达到提高图片验证识别难度的目的。
进一步地,在上述任一实施例中,所述字符定位信息用于定位所述验证码字符或者所述伪码字符;以及所述字符定位信息包括字符坐标信息、字符标记信息或经隐藏处理的所述伪码字符。
在该实施例中,用于供用户终端在图片验证码中定位验证码字符或伪码字符以识别出正确有效的验证码字符的字符定位信息可以以下方式之一存在:
方式一:字符定位信息采用字符坐标信息的形式,具体地,既可以为验证码字符在图片验证码中的坐标信息,也可以为伪码字符在图片验证码中的坐标信息,字符坐标信息的具体形式可以如图4所示,(100,30,8,16)表示伪码字符“B”在图片验证码中的位置;
方式二:字符定位信息采用字符标记信息的形式,具体地,可以为在将伪码字符加入验证码字符得到混合字符后,将其分成多组,分别使用不同的颜色或字体将每组中的伪码字符或者验证码字符进行标记,并记录该标记信息;
方式三:字符定位信息即为伪码字符,即在将图片验证码反馈至用户终端中时,同时将伪码字符隐藏以不可见的方式附加到图片验证码中一同反馈。
当然,在本发明的其他实施例中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
进一步地,在上述任一实施例中,所述图片验证码的处理方法还包括:接收所述用户终端基于所述图片验证码识别出的结果字符;将所述结果字符与所述验证码字符进行比对,生成比对结果;将所述比对结果反馈至所述用户终端。
在该实施例中,还需要接收用户终端反馈的对应图片验证码的识别结果,并将接收到的结果字符与正确有效的验证码字符进行对比,并将比对结果反馈给用户终端,以告知用户终端其识别出的结果字符的正确与否,进而在识别正确时,向用户终端反馈其需要的信息,否则禁止向用户终端反馈信息,从而有效地确保信息的安全性。
图5示出了本发明的第一实施例的图片验证码的处理装置的示意框图。
如图5所示,根据本发明的第一实施例的图片验证码的处理装置500,包括:接收模块502、获取模块504、生成模块506和发送模块508。
其中,所述接收模块502用于接收来自用户终端的验证码获取请求;所述获取模块504用于根据所述接收模块502接收到的所述验证码获取请求获取验证码字符和伪码字符;所述生成模块506用于将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息;所述发送模块508用于将所述生成模块506生成的所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。
在该实施例中,当接收到用户终端发来的验证码获取请求时,首先在数据库中取得本次需要反馈给用户终端的验证码字符,同时取得伪码字符,进而将伪码字符加入该验证码字符中以达到混淆图片验证码中的验证码字符的目的,破坏其有效性,而为了使用户终端能够顺利识别出准确有效的验证码字符,需要生成与将伪码字符加入验证码字符中关联的字符定位信息并与图片验证码一同反馈至用户终端,以供用户终端根据该字符定位信息于图片验证码中识别出验证码字符,如此,生成的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
其中,伪码字符与验证码字符的属性相同,比如为数字字符、字母字符或二者的混合等。
进一步地,在上述实施例中,所述图片验证码的处理装置500还包括:处理模块510,用于在所述生成模块506将所述伪码字符加入所述验证码字符中之后、生成所述图片验证码之前,对将所述伪码字符加入所述验证码字符后生成的初始图片验证码进行降低识别度的预设处理,以得到所述图片验证码。
在该实施例中,为了进一步增加图片验证码的识别难度,特别是针对图像识别技术和人眼识别技术,可以对将伪码字符加入验证码字符中后生成的初始图片验证码进行降低识别度的预设处理,进而生成最终的反馈给用户终端的图片验证码;其中,降低图片验证码的识别度的预设处理包括扭曲字符、旋转字符、在图片验证码中设计噪点或者调节图片验证码的背景色以接近字符颜色等处理手段。
进一步地,在上述任一实施例中,所述生成模块506具体用于:将所述伪码字符随机***由所述验证码字符组成的至少一组字符中,以打乱所述验证码字符的初始排列顺序。
在该实施例中,可以将伪码字符拆开分散***验证码字符中,也可以将验证码字符分成多个组,然后将伪码字符拆开分散***多组字符的至少一组字符中,从而达到打乱验证码字符的初始排列顺序的目的,以进一步达到提高图片验证识别难度的目的。
进一步地,在上述任一实施例中,所述字符定位信息用于定位所述验证码字符或者所述伪码字符;以及所述字符定位信息包括字符坐标信息、字符标记信息或经隐藏处理的所述伪码字符。
在该实施例中,用于供用户终端在图片验证码中定位验证码字符或伪码字符以识别出正确有效的验证码字符的字符定位信息可以以下方式之一存在:
方式一:字符定位信息采用字符坐标信息的形式,具体地,既可以为验证码字符在图片验证码中的坐标信息,也可以为伪码字符在图片验证码中的坐标信息;
方式二:字符定位信息采用字符标记信息的形式,具体地,可以为在将伪码字符加入验证码字符得到混合字符后,将其分成多组,分别使用不同的颜色或字体将每组中的伪码字符或者验证码字符进行标记,并记录该标记信息;
方式三:字符定位信息即为伪码字符,即在将图片验证码反馈至用户终端中时,同时将伪码字符隐藏以不可见的方式附加到图片验证码中一同反馈。
当然,在本发明的其他实施例中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
进一步地,在上述任一实施例中,所述接收模块502还用于:接收所述用户终端基于所述图片验证码识别出的结果字符;所述处理模块510还用于:将所述结果字符与所述验证码字符进行比对,生成比对结果;所述发送模块508还用于:将所述比对结果反馈至所述用户终端。
在该实施例中,还需要接收用户终端反馈的对应图片验证码的识别结果,并将接收到的结果字符与正确有效的验证码字符进行对比,并将比对结果反馈给用户终端,以告知用户终端其识别出的结果字符的正确与否,进而在识别正确时,向用户终端反馈其需要的信息,否则禁止向用户终端反馈信息,从而有效地确保信息的安全性。
作为本发明的一个实施例,可以将上述实施例中任一项所述的图片验证码的处理装置500应用于服务器中。
根据本发明的第二实施例的图片验证码的处理方法,具体包括以下流程步骤:
步骤602,向服务器发送验证码获取请求。
步骤604,接收所述服务器响应所述验证码获取请求反馈的图片验证码和字符定位信息,所述图片验证码和所述字符定位信息为将伪码字符加入验证码字符中时生成的。
步骤606,根据所述字符定位信息在所述图片验证码中识别出并展示出所述验证码字符。
步骤608,将所述验证码字符反馈至所述服务器进行验证。
在该实施例中,当接收到服务器响应于验证码获取请求反馈的图片验证码和字符定位信息时,根据该字符定位信息在图片验证码中识别出并向用户展示验证码字符,其中,图片验证码和字符定位信息为将图片验证码中的伪码字符加入验证码字符中时生成的,即图片验证码和字符定位信息之间存在关联关系,进一步地,用户可以查看并输入展示出来的验证码字符至服务器,以供服务器对该验证码字符的正确性进行验证,综上,本发明的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
进一步地,在上述实施例中,所述步骤606具体包括:根据所述字符定位信息在所述图片验证码中定位所述验证码字符,并展示所述验证码字符;或者根据所述字符定位信息在所述图片验证码中定位所述伪码字符,并隐藏所述伪码字符,以将所述验证码字符展示出来。
在该技术方案中,字符定位信息既可以为验证码字符的定位信息也可以为伪码字符的定位信息,当为验证码字符的定位信息时,则可以直接根据该定位信息在图片验证码中定位到正确有效的验证码字符,从而将其显现出来以展示给用户,该字符定位信息具体可以包括验证码字符的坐标信息或标记信息;而当为伪码字符的定位信息时,则可以通过该字符定位信息在图片验证码中定位出哪些字符为伪码字符并执行将其隐藏的操作,从而使正确有效的验证码字符显现处理以展示给用户,该字符定位信息具体可以包括伪码字符的坐标信息、标记信息或者直接为以不可见的方式隐藏的伪码字符。
当然,在本发明的其他实施例中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
图6示出了本发明的第二实施例的图片验证码的处理装置的示意框图。
如图6所示,根据本发明的第二实施例的图片验证码的处理装置700,包括:请求模块702、接收模块704、处理模块706和发送模块708。
其中,所述请求模块702用于向服务器发送验证码获取请求;所述接收模块704用于接收所述服务器响应所述验证码获取请求反馈的图片验证码和字符定位信息,所述图片验证码和所述字符定位信息为将伪码字符加入验证码字符中时生成的;所述处理模块706用于根据所述字符定位信息在所述图片验证码中识别出并展示出所述验证码字符;所述发送模块708用于将所述处理模块706处理得到的所述验证码字符反馈至所述服务器进行验证。
在该实施例中,当接收到服务器响应于验证码获取请求反馈的图片验证码和字符定位信息时,根据该字符定位信息在图片验证码中识别出并向用户展示验证码字符,其中,图片验证码和字符定位信息为将图片验证码中的伪码字符加入验证码字符中时生成的,即图片验证码和字符定位信息之间存在关联关系,进一步地,用户可以查看并输入展示出来的验证码字符至服务器,以供服务器对该验证码字符的正确性进行验证,综上,本发明的图片验证码在无字符定位信息辅助的情况下无法通过图像识别技术或人眼容易地识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
进一步地,在上述实施例中,所述处理模块706具体用于:根据所述字符定位信息在所述图片验证码中定位所述验证码字符,并展示所述验证码字符;或者根据所述字符定位信息在所述图片验证码中定位所述伪码字符,并隐藏所述伪码字符,以将所述验证码字符展示出来。
在该实施例中,字符定位信息既可以为验证码字符的定位信息也可以为伪码字符的定位信息,当为验证码字符的定位信息时,则可以直接根据该定位信息在图片验证码中定位到正确有效的验证码字符,从而将其显现出来以展示给用户,该字符定位信息具体可以包括验证码字符的坐标信息或标记信息;而当为伪码字符的定位信息时,则可以通过该字符定位信息在图片验证码中定位出哪些字符为伪码字符并执行将其隐藏的操作,从而使正确有效的验证码字符显现处理以展示给用户,该字符定位信息具体可以包括伪码字符的坐标信息、标记信息或者直接为以不可见的方式隐藏的伪码字符。
当然,在本发明的其他实施例中,也可以采用将字符定位信息预先定义在用户终端的方式,即服务器和用户终端之间使用相同的机制生成具有关联关系的信息,在服务器端使用该字符定位信息打乱验证码字符的排列,而在用户终端通过该字符定位信息定位图片验证码中的有效的验证码字符。
作为本发明的一个实施例,可以将上述实施例中任一项所述的图片验证码的处理装置700应用于终端中。
下面结合一个具体实施例对本发明的技术方案进行说明,在该实施例中,图片验证码的处理***包括:验证码图片生成单元和验证码图片展示单元。
其中,验证码图片生成单元位于服务器侧,在现有验证码生成方案加入混淆过程,使用与验证码字符并无本质区别的混淆码(即伪码字符)合并之后打乱顺序,生成无法直接识别有效内容的验证码图片,同时生成用户终端可识别的用于展示图片有效部分的定位代码(即字符定位信息),例如针对浏览器端,可以使用CSS(Cascading Style Sheets,层叠样式表)实现定位代码;
验证码图片展示单元位于用户终端侧,根据服务器返回的定位代码,在用户终端环境执行该代码后,将混淆后的图片展示为正常的验证码图片。
具体通过以下流程完成验证码校验:
(1)用户发出获取验证码图片的指令。
(2)用户终端向服务器请求验证码图片。
(3)服务器生成验证码文本,然后加入混淆码并打乱验证码字符的顺序生成最终文本,混淆码不需与验证码字符有本质区别,混淆过程也不局限一维线性排列,如上图2和3所示。
(4)服务器为最终文本添加其他增加识别难度的方案生成最终验证码图片,其他增加识别难度的方案比如扭曲、旋转、噪点等,同时生成该验证码图片中有效验证码或无效混淆码的定位代码,具体地,定位代码描述了字符在图片上的位置,本方案并不限定描述方式,只要可以指示字符在图片中的位置信息的描述方式均包括在本发明的保护范围内,描述方式之一如上述图4所示。
(5)服务器返回最终验证码图片及定位代码。
(6)用户终端执行有效验证码的定位代码,定位到验证码图片的有效部分并展示在用户终端上;或执行混淆码的定位代码,定位到验证码图片的无效部分并隐藏,只展示其余部分(即有效验证码部分)到用户终端上。
(7)用户识别终端展示的验证码并输入,发送到服务器完成验证。
综上,本发明的技术方案通过在服务器生成的包括混淆码的验证码图片以及依赖用户终端运行的定位代码,从而基于验证码图片和定位代码的配合显示有效的验证码,即:没有用户终端执行定位代码的配合,恶意程序仅能取得混淆后的验证码图片,以及没有用户终端执行定位代码的配合,而混淆码和有效的验证码字符并无本质区别,打码平台的码工也无法识别出图片中的有效验证码部分。
进一步地,在本发明的其他实施例中,可以将混淆后的验证码分为几组,分别使用不同的标记,比如颜色或者字体,而图片的定位代码记录这些标记信息,该实施例虽然没有使用上述的坐标信息定位,但原理一致。
进一步地,在本发明的其他实施例中,可以将定位代码预先定义在用户端,服务器和用户终端使用相同的机制生成有关联关系的随机数,此随机数在服务器用于打乱有效验证码的排列,在用户终端用于定位有效的验证码,该实施例虽然没有同时生成验证码图片和定位代码,但实际是使用了固定的定位代码,原理一致。
进一步地,在本发明的其他实施例中,可以将定位代码预先定义在用户终端,服务器使用相同的机制生成随机数,并用于打乱有效验证码的排列,同时将随机数以不可见方式附加到图片二进制流中发送至用户终端,用户终端再读取此随机数并用于展示有效的验证码,该实施例虽然没有同时生成验证码图片和定位代码,但实际是使用了固定的定位代码,原理一致。
以上结合附图详细说明了本发明的技术方案,通过采用伪码字符混淆图片验证码中有效的验证码字符,且用户终端需要借助字符定位信息才能获得正确有效的验证码字符,而无法通过图像识别技术或人眼识别出来,从而有效地增加了图片验证码的识别难度,提高了信息的安全性,进而提升了用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种图片验证码的处理方法,其特征在于,包括:
接收来自用户终端的验证码获取请求;
根据所述验证码获取请求获取验证码字符和伪码字符;
将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息;
将所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。
2.根据权利要求1所述的处理方法,其特征在于,在所述将所述伪码字符加入所述验证码字符中之后、生成所述图片验证码之前,还包括:
对将所述伪码字符加入所述验证码字符后生成的初始图片验证码进行降低识别度的预设处理,以得到所述图片验证码。
3.根据权利要求1所述的处理方法,其特征在于,所述将所述伪码字符加入所述验证码字符中的步骤,具体包括:
将所述伪码字符随机***由所述验证码字符组成的至少一组字符中,以打乱所述验证码字符的初始排列顺序。
4.根据权利要求1至3中任一项所述的处理方法,其特征在于,
所述字符定位信息用于定位所述验证码字符或者所述伪码字符;以及
所述字符定位信息包括字符坐标信息、字符标记信息或经隐藏处理的所述伪码字符。
5.一种图片验证码的处理装置,其特征在于,包括:
接收模块,用于接收来自用户终端的验证码获取请求;
获取模块,用于根据所述接收模块接收到的所述验证码获取请求获取验证码字符和伪码字符;
生成模块,用于将所述伪码字符加入所述验证码字符中,生成图片验证码和字符定位信息;
发送模块,用于将所述生成模块生成的所述图片验证码和所述字符定位信息反馈至所述用户终端,所述字符定位信息用于供所述用户终端在所述图片验证码中识别出所述验证码字符。
6.根据权利要求5所述的处理装置,其特征在于,还包括:
处理模块,用于在所述生成模块将所述伪码字符加入所述验证码字符中之后、生成所述图片验证码之前,对将所述伪码字符加入所述验证码字符后生成的初始图片验证码进行降低识别度的预设处理,以得到所述图片验证码。
7.根据权利要求5所述的处理装置,其特征在于,所述生成模块具体用于:
将所述伪码字符随机***由所述验证码字符组成的至少一组字符中,以打乱所述验证码字符的初始排列顺序。
8.根据权利要求5至7中任一项所述的处理装置,其特征在于,
所述字符定位信息用于定位所述验证码字符或者所述伪码字符;以及
所述字符定位信息包括字符坐标信息、字符标记信息或经隐藏处理的所述伪码字符。
9.一种图片验证码的处理方法,其特征在于,包括:
向服务器发送验证码获取请求;
接收所述服务器响应所述验证码获取请求反馈的图片验证码和字符定位信息,所述图片验证码和所述字符定位信息为将伪码字符加入验证码字符中时生成的;
根据所述字符定位信息在所述图片验证码中识别出并展示出所述验证码字符;
将所述验证码字符反馈至所述服务器进行验证。
10.根据权利要求9所述的处理方法,其特征在于,所述根据所述字符定位信息在所述图片验证码中识别出并展示验证码字符的步骤,具体包括:
根据所述字符定位信息在所述图片验证码中定位所述验证码字符,并展示所述验证码字符;或者
根据所述字符定位信息在所述图片验证码中定位所述伪码字符,并隐藏所述伪码字符,以将所述验证码字符展示出来。
11.一种图片验证码的处理装置,其特征在于,包括:
请求模块,用于向服务器发送验证码获取请求;
接收模块,用于接收所述服务器响应所述验证码获取请求反馈的图片验证码和字符定位信息,所述图片验证码和所述字符定位信息为将伪码字符加入验证码字符中时生成的;
处理模块,用于根据所述字符定位信息在所述图片验证码中识别出并展示出所述验证码字符;
发送模块,用于将所述处理模块处理得到的所述验证码字符反馈至所述服务器进行验证。
12.根据权利要求11所述的处理装置,其特征在于,所述处理模块具体用于:
根据所述字符定位信息在所述图片验证码中定位所述验证码字符,并展示所述验证码字符;或者
根据所述字符定位信息在所述图片验证码中定位所述伪码字符,并隐藏所述伪码字符,以将所述验证码字符展示出来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611074434.1A CN106778199A (zh) | 2016-11-29 | 2016-11-29 | 图片验证码的处理方法及处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611074434.1A CN106778199A (zh) | 2016-11-29 | 2016-11-29 | 图片验证码的处理方法及处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106778199A true CN106778199A (zh) | 2017-05-31 |
Family
ID=58900857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611074434.1A Pending CN106778199A (zh) | 2016-11-29 | 2016-11-29 | 图片验证码的处理方法及处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106778199A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447207A (zh) * | 2020-03-24 | 2020-07-24 | 咪咕文化科技有限公司 | 验证码验证方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977194A (zh) * | 2010-10-29 | 2011-02-16 | 赵俊平 | 一种第三方验证码***及第三方验证码提供方法 |
CN101976430A (zh) * | 2010-10-29 | 2011-02-16 | 赵俊平 | 一种图片验证码生成方法及其*** |
CN102663672A (zh) * | 2012-05-03 | 2012-09-12 | 杭州朗和科技有限公司 | 一种图片验证码生成方法和装置 |
WO2016124066A1 (zh) * | 2015-02-05 | 2016-08-11 | 北京京东尚科信息技术有限公司 | 一种图片验证码生成方法及*** |
-
2016
- 2016-11-29 CN CN201611074434.1A patent/CN106778199A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977194A (zh) * | 2010-10-29 | 2011-02-16 | 赵俊平 | 一种第三方验证码***及第三方验证码提供方法 |
CN101976430A (zh) * | 2010-10-29 | 2011-02-16 | 赵俊平 | 一种图片验证码生成方法及其*** |
CN102663672A (zh) * | 2012-05-03 | 2012-09-12 | 杭州朗和科技有限公司 | 一种图片验证码生成方法和装置 |
WO2016124066A1 (zh) * | 2015-02-05 | 2016-08-11 | 北京京东尚科信息技术有限公司 | 一种图片验证码生成方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447207A (zh) * | 2020-03-24 | 2020-07-24 | 咪咕文化科技有限公司 | 验证码验证方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540525B2 (en) | Information code, information code producing method, information code reader, and system which uses information code | |
US9400806B2 (en) | Image triggered transactions | |
US7711191B2 (en) | Electronic transaction processing server with automated transaction evaluation | |
CN102724191B (zh) | 一种图文结合的Web验证码安全防护方法及装置 | |
US11558377B2 (en) | Triage engine for document authentication | |
US9582728B2 (en) | System for determining alignment of a user-marked document and method thereof | |
US20070009158A1 (en) | Paper and electronic recognizable forms | |
CN110097329A (zh) | 信息审核方法、装置、设备及计算机可读存储介质 | |
WO2015143970A1 (zh) | 一种基于二维码的信息采集***及其方法 | |
CN109409349B (zh) | 信贷证件鉴别方法、装置、终端及计算机可读存储介质 | |
CN109035536A (zh) | 访客***及其实现方法、实现设备及可读存储介质 | |
CN104657653B (zh) | 图像验证码的验证方法及验证装置 | |
CN107248084A (zh) | 票务安全管理方法及装置 | |
CN104820855A (zh) | 基于移动环境感知技术的动态二维码生成和识别方法 | |
CN107358148B (zh) | 一种基于手写识别的防作弊网络调研的方法及装置 | |
US12014829B2 (en) | Image processing and presentation techniques for enhanced proctoring sessions | |
JP2015191382A (ja) | 画像データ処理装置、方法、及びプログラム | |
CN105809840A (zh) | 材料的自助处理设备、所适用的***和方法 | |
CN106126098B (zh) | 一种能够信息定位的手写签批方法及*** | |
US20110231333A1 (en) | Registration method and registration system of network service system | |
CN106778199A (zh) | 图片验证码的处理方法及处理装置 | |
CN111523105B (zh) | 基于语义理解的交互式图片验证方法 | |
JP2016131025A (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
CN112836185B (zh) | 用户验证方法及*** | |
CN104935436A (zh) | 一种用户验证方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |