CN109033792A - 一种验证用户的方法、终端和服务器 - Google Patents
一种验证用户的方法、终端和服务器 Download PDFInfo
- Publication number
- CN109033792A CN109033792A CN201810152127.3A CN201810152127A CN109033792A CN 109033792 A CN109033792 A CN 109033792A CN 201810152127 A CN201810152127 A CN 201810152127A CN 109033792 A CN109033792 A CN 109033792A
- Authority
- CN
- China
- Prior art keywords
- subregion
- user
- image
- described image
- terminal
- 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
- 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/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种验证用户的方法、终端和服务器,涉及通信领域。所述方法包括:向用户输出一图像,图像包括第一子区域和第二子区域,第一子区域的像素值经过预定处理以区别于图像的初始像素值,第二子区域的像素值是图像的初始像素值;输出一指示信息,指示信息用于指示用户选择第一子区域或第二子区域;接收用户对第一子区域或第二子区域的选择输入,选择输入用于判断所述用户是人类还是机器。所述方法在维持或稍有提高机器对验证码的识别难度的情况下,显著地降低了人类对验证码的识别难度,增强了用户体验。
Description
技术领域
本申请涉及网络通信领域,尤其涉及一种验证用户的方法、终端和服务器。
背景技术
随着网络通信技术的发展,越来越多的人们开始使用互联网工作、娱乐和学习。
网络极大的便利和丰富了人们的生活,网络安全也变得越发重要。现有的网络环境中,有些黑客会对某一个特定注册账号用特定程序暴力破解方式进行不断的登陆尝试,以窃取用户的隐私信息,威胁用户的网络信息安全。
验证码(CAPTCHA)是一种比较有效的防止暴力破解用户密码的方式。通过设置验证码,网站服务器可以比较有效区分登陆者是人还是机器,从而可以避免机器对用户密码进行暴力破解。但是,随着人工智能技术的发展,计算机对图像的识别能力越来越强,一些传统的图像验证码难以有效区分登陆者是人还是机器。另一方面,如果进一步提高图像验证码的难度,比如让图像更加模糊,则可能导致合法的人类用户无法识别验证码中的信息。
发明内容
本申请的目的是:提供一种验证用户的方法、终端和服务器,以解决上述问题中的至少一个。
为解决上述技术问题,第一方面,本申请提供了一种验证用户的方法,所述方法包括:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
结合第一方面的任一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括:
从一服务器接收所述图像,所述预定处理由所述服务器完成。
结合第一方面的任一种可能的实施方式,在第三种可能的实施方式中,所述预定处理包括:
将所述第一子区域的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述像素的新的像素值。
结合第一方面的任一种可能的实施方式,在第四种可能的实施方式中,所述预定处理包括:
对所述第一子区域的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述像素的新的像素值。
结合第一方面的任一种可能的实施方式,在第五种可能的实施方式中,所述方法还包括:
对所述第一子区域的边缘进行弯曲处理。
结合第一方面的任一种可能的实施方式,在第六种可能的实施方式中,所述图像是灰度图像,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。
结合第一方面的任一种可能的实施方式,在第七种可能的实施方式中,所述图像是彩色图像,所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。
结合第一方面的任一种可能的实施方式,在第八种可能的实施方式中,所述方法还包括:
向服务器发送所述选择输入;
从所述服务器接收一判断结果。
结合第一方面的任一种可能的实施方式,在第九种可能的实施方式中,所述方法还包括:
响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收一新的图像;
其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
第二方面,本申请提供了一种验证用户的方法,所述方法包括:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
结合第二方面的任一种可能的实施方式,在第二种可能的实施方式中,所述预定处理包括:
对所述第一子区域的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述像素的新的像素值。
结合第二方面的任一种可能的实施方式,在第三种可能的实施方式中,所述预定处理包括:
对所述第一子区域的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述像素的新的像素值。
结合第二方面的任一种可能的实施方式,在第四种可能的实施方式中,所述方法还包括:
对所述第一子区域的边缘进行弯曲处理。
结合第二方面的任一种可能的实施方式,在第五种可能的实施方式中,所述图像是灰度图像,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。
结合第二方面的任一种可能的实施方式,在第六种可能的实施方式中,所述图像是彩色图像,所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。
结合第二方面的任一种可能的实施方式,在第七种可能的实施方式中,所述方法还包括:
根据对比度从一图像库中选择一初始图像,所述初始图像用于进行所述预定处理。
结合第二方面的任一种可能的实施方式,在第八种可能的实施方式中,所述方法还包括:
根据所述用户对不同图像的熟悉度从一图像库中选择一初始图像,所述初始图像用于进行所述预定处理。
结合第二方面的任一种可能的实施方式,在第九种可能的实施方式中,所述方法还包括:
建立所述图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
结合第二方面的任一种可能的实施方式,在第十种可能的实施方式中,所述方法还包括:
响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送一新的图像;
其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
第三方面,本申请提供一种验证用户的终端,所述终端包括:
一第一输出模块,用于向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
一第二输出模块,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
一第一接收模块,用于接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
结合第三方面的任一种可能的实施方式,在第二种可能的实施方式中,所述终端还包括:
一第二接收模块,用于从一服务器接收所述图像,所述预定处理由所述服务器完成。
结合第三方面的任一种可能的实施方式,在第三种可能的实施方式中,所述图像是灰度图像,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。
结合第三方面的任一种可能的实施方式,在第四种可能的实施方式中,所述图像是彩色图像,所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。
结合第三方面的任一种可能的实施方式,在第五种可能的实施方式中,所述终端还包括:
一发送模块,用于向服务器发送所述选择输入;
一第三接收模块,用于从所述服务器接收一判断结果。
结合第三方面的任一种可能的实施方式,在第六种可能的实施方式中,所述终端还包括:
一第四接收模块,用于响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收一新的图像;
其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
第四方面,本申请提供一种验证用户的服务器,所述服务器包括:
一发送模块,用于向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
一接收模块,用于从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
一判断模块,用于根据所述选择输入判断所述用户是人类还是机器。
结合第四方面的任一种可能的实施方式,在第二种可能的实施方式中,所述服务器还包括:一处理模块,用于对所述第一子区域的像素值进行所述预定处理。
结合第四方面的任一种可能的实施方式,在第三种可能的实施方式中,所述处理模块包括:
一乘运算单元,用于对所述第一子区域的每一像素的像素值乘以第一预定值;
一模运算单元,用于将乘积以第二预定值做模运算;
一像素修改单元,用于将所述模运算的结果作为所述像素的新的像素值。
结合第四方面的任一种可能的实施方式,在第四种可能的实施方式中,所述处理模块包括:
一随机设置单元,用于对所述第一子区域的每一像素的像素值进行随机设置;
一像素修改单元,用于将随机设置后的结果作为所述像素的新的像素值。
结合第四方面的任一种可能的实施方式,在第五种可能的实施方式中,所述服务器还包括:
一弯曲处理单元,用于对所述第一子区域的边缘进行弯曲处理。
结合第四方面的任一种可能的实施方式,在第六种可能的实施方式中,所述图像是灰度图像,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。
结合第四方面的任一种可能的实施方式,在第七种可能的实施方式中,所述图像是彩色图像,所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。
结合第四方面的任一种可能的实施方式,在第八种可能的实施方式中,所述服务器还包括:
一图像选择模块,用于根据对比度从一图像库中选择一初始图像,所述初始图像用于进行所述预定处理。
结合第四方面的任一种可能的实施方式,在第九种可能的实施方式中,所述服务器还包括:
一图像选择模块,用于根据所述用户对不同图像的熟悉度从一图像库中选择一初始图像,所述初始图像用于进行所述预定处理。
结合第四方面的任一种可能的实施方式,在第十种可能的实施方式中,所述服务器包括:
一图像库建立模块,用于建立所述图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
结合第四方面的任一种可能的实施方式,在第十一种可能的实施方式中,所述发送模块还用于,响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送一新的图像;
其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
第五方面,本申请提供一种终端设备,所述终端设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
第六方面,本申请提供一种服务器设备,所述服务器设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
第七方面,本申请提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
第八方面,本申请提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
所述方法、终端及服务器,向用户输出部分区域的像素值被预先处理的图像,并让用户按照要求对相应的区域进行选择,从而可以判断用户是人类还是机器。对于人类而言,像素值被处理的区域和未被处理的区域会有明显的不同,而对于计算机而言,却并不容易发现哪个区域是被处理过的。从而,所述被输出的图像可以作为一种验证码,该验证码在降低了人类对验证码的识别难度的情况下,基本维持或稍有提高机器对验证码的识别难度。
附图说明
图1是本发明一个实施例所述验证用户的方法流程图;
图2是本发明一个实施例中作为验证码的图像示意图;
图3是本发明一个实施例的所述验证用户的方法流程图;
图4是本发明一个实施例所述验证用户的方法流程图;
图5是本发明一个实施例所述预定处理的流程图;
图6是本发明另一个实施例所述预定处理的流程图;
图7是本发明另一个实施例所述验证用户的方法流程图;
图8是本发明一个实施例所述验证用户的终端的模块结构示意图;
图9是本发明另一个实施例所述验证用户的终端的模块结构示意图;
图10是本发明所述终端和服务器的网络连接示意图;
图11是本发明一个实施例所述验证用户的服务器的模块结构示意图;
图12是本发明另一个实施例所述验证用户的服务器的模块结构示意图;
图13是本发明一个实施例所述处理模块的模块结构示意图;
图14是本发明另一个实施例所述处理模块的模块构示意图;
图15是本发明另一个实施例所述验证用户的服务器的模块结构示意图;
图16是本发明一个实施例所述验证用户的终端的硬件结构示意图;
图17是本发明一个实施例所述验证用户的服务器的硬件结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本领域技术人员理解,在本发明的实施例中,下述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本发明中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
作为一种安全机制,验证码(即CAPTCHA),通过询问一个问题来区别该问题的回答者是人还是机器。对于问题的设计,最基本的要求就是机器回答这个问题的速度比人慢。为了达到这个目的,人和机器在语义识别能力方面的差距往往被用来设计CAPTCHA,例如基于文字的识别(可以参考Mori,Greg,and Jitendra Malik."Recognizing objects inadversarial clutter:Breaking a visual CAPTCHA."Computer Vision and PatternRecognition,2003.Proceedings.2003IEEE Computer Society Conferenceon.Vol.1.IEEE,2003.),以及基于对图像中物体的识别等。然而随着对象识别技术的发展,基于文字的CAPTCHA已经被破解了。最近,随着深度学习技术的发展,机器对图片语义的理解越来越准确,而基于对图像中物体识别的CAPTCHA也随着人工智能的发展,变得越来不安全。通过扭曲图片中对象的形状来增加机器识别的难度这样的处理方法,往往没有给机器增加多少识别难度,反而给人识别该对象增加了实实在在的困难,降低了用户体验。
在此情况下,本申请提出一种新的验证方法,该验证方法基于对图像的部分区域的像素值进行处理,并令待验证用户选择被处理的区域(或未被处理的区域)。基于文字的CAPTCHA的破解方法对本方案没有作用。由于本申请方案也不是仅仅识别出图像中的对象,所以基于对象识别的方法也难于破解本方案生成的CAPTCHA。
具体地,本发明提供一种验证用户的方法,如图1所示,所述方法包括:
S120:向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
S140:输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
S160:接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
所述方法,向用户输出部分区域的像素值被预先处理的图像,并让用户按照要求对相应的区域进行选择,从而可以判断用户是人类还是机器。对于人类而言,像素值被处理的区域和未被处理的区域会有明显的不同,而对于机器而言,却并不容易发现哪一个区域是被处理过的,哪个区域是未被处理过的。从而,所述被输出的图像可以作为一种验证码,该验证码在降低了人类对验证码的识别难度的情况下,基本维持或稍有提高了机器对验证码的识别难度。
以下将结合附图和具体实施方式详细说明所述方法每个步骤的功能。
S120:向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值。
该步骤中,所述方法可以通过一显示屏幕向用户输出所述图像,比如通过电脑或手机的显示屏幕输出所述图像。
所述图像可以比如是一网络图像,比如网友分享的风景照片、人物照片。所述图像还可以比如是用户本地存储设备上的图像,比如用户存储在本地硬盘上的照片等。
在一种实施方式中,所述图像是灰度图像,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。附图2是本申请一个实施例所述图像的示意图,所述图像为一黑白照片,照片内容为幼儿园场景,附图2中虚线矩形框所围成的区域为所述第一子区域210,剩余区域为所述第二子区域。从图中可以看到,经过对所述第一子区域210的像素值进行处理,矩形框所围成的区域和周围的区域明显不同,看上去很不自然。
在另一种实施方式中,所述图像是彩色图像,对于彩色图像而言,每个像素具有R、G、B三个分量(即红绿蓝三个分量),相应的所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。发明人在实验中发现,当初始图像为彩色图像时,通过对初始图像的第一子区域进行所述预定处理,处理后的图像中,第一子区域会显得更加不自然,从而更容易被合法用户(即人类用户)所识别。但是,受限于目前专利申请文件禁止使用彩色附图,我们无法提供相应的附图。
对所述图像的预定处理可以由一服务器完成,比如由用户当前尝试登陆的服务器完成。所述服务器对所述图像的第一子区域的像素值进行所述预定处理,主要是指对所述第一子区域中至少部分像素的像素值进行修改,从而使所述第一子区域的图像风格、色彩等与处理之前不同,进而当人类用户看到所述图像时,会感觉所述第一子区域是“不自然”或“不正常”的。当然了,所述图像也可以由另一图像处理设备进行预先处理,然后将处理后的图像以及处理结果发送给所述服务器。简单起见,本申请说明书主要以所述服务器直接对所述图像进行处理为例进行说明。
具体的,所述服务器可以从网络或者用户的本地存储设备(预先获得用户的授权)先获取初始图像,然后对初始图像进行所述预定处理,再将处理的图像通过终端显示器输出给用户。所述预定处理的具体过程后文将详细说明。
S140:输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域。
所述指示信息可以通过文字、语音等方式输出给用户。比如,在一个实施例中,可以所述图像的下方输出“请点击图像中的非正常区域”以提示用户对所述第一子区域进行点击选择。不难理解,所述提示信息也可以提示用户选择图像中的正常区域。
另外,对所述图像的特定区域的选择并不仅限于点击选择,比如所述提示信息还可以提示用户将相应区域拖曳至一目标区域等。
S160:接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
所述方法在接收到用户的选择输入之后,可以将所述选择输入发送给所述服务器,所述服务器可以根据用户的选择输入按照相应的判断标准对所述用户的属性进行判断。
因此,在一个实施方式中,如图3所示,所述方法还进一步包括:
S180:向服务器发送所述选择输入;
S200:从所述服务器接收一判断结果。
比如,当所述提示信息提示用户点击图像中的非正常区域时,如果用户点击的是所述第一区域,则判断所述用户是人类。反之,如果用户点击的是所述第二区域,则所述服务器可以判断所述用户较大概率(比如超过70%)是机器。
在另一实施方式中,如图3所示,所述方法还包括:
S220:响应于所述判断结果是所述用户是机器的概率大于是人类的概率,从所述服务器接收一新的图像。
一般地,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度,从而可以进一步提高机器对所述新的图像中的“不正常”区域的识别难度,具体原理,后文详述。
也就是说,当所述判断结果是所述用户是机器的概率大于是人类的概率时,为了尽量减少误判,所述终端可以从所述服务器接收一个新的图像,以便对所述用户进行再次验证。如果用户通过了再次验证,则可以判断用户为人类。相反,如果用户验证失败次数达到预定值,比如3次,则可以限制用户在预定时间内禁止登陆相应的网站。
上述内容主要是终端侧对用户进行验证的过程,此外,本申请还提供一种与所述终端侧进行配合的服务器侧对用户进行验证的方法。具体地,如图4所示,所述方法可以包括:
S420:向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
S440:从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
S460:根据所述选择输入判断所述用户是人类还是机器。
以下将结合具体实施方式和附图对所述方法的各个步骤进行说明。
S420:向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值。
所述服务器和所述终端之间可以通过有线网络或者无线网络进行通信。
如前文所述,所述图像可以是灰度图像或者彩色图像。当所述图像是灰度图像时,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。当所述图像是彩色图像时,所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。
如前文所述,对所述图像的第一子区域的预定处理可以由所述服务器完成,也可以由另一图像处理设备完成后提供给所述服务器,进而由所述服务器发送给所述终端。简单起见,本申请说明书主要介绍由所述服务器直接对所述图像进行所述预定处理的情况。
对所述图像的预定处理,其目的只是使处理之后的所述第一子区域让人类用户感觉“不自然”或“不正常”,因此,本申请并不具体限定所述预定处理的具体方式。以下给出两种示例处理方式,本领域技术人员可以据此进行合理的变换。
在一种实施方式中,如图5所示,所述预定处理包括:
S520:将所述第一子区域的每一像素的像素值乘以第一预定值;
S540:将乘积以第二预定值做模运算;
S560:将所述模运算的结果作为所述像素的新的像素值。
简单起见,先假设所述图像为灰度图像,所述第一子区域的某一像素的初始像素值为一灰度值Gr0。一般地,如果每个像素占用8比特的存储空间,则所述灰度值Gr0的取值区间为[0,255]。所述步骤S520中,所述第一预定值a可以为任意值,优先为大于1的整数,从而将像素值放大。所述步骤S540中所述第二预定值b一般是所述像素值的最大取值,比如假设所述灰度值Gr0的取值区间为[0,255],则所述第二预定值优选为255,从而可以使运算结果具有较大的分布范围。因此,对于初始灰度值为Gr0的像素而言,其处理后的新的像素值为Gr=(a×Gr0)%b。依次类推,可以对所述第一子区域中每个像素的像素值进行如上处理。
再者,假设所述图像为彩色图像。对于彩色图像而言,每个像素的像素值包括R、G、B三个分量(即红、绿、蓝三个分量),假设所述第一子区域中某一像素的初始像素值包括R0、G0、B0三个值。类似于对灰度值的处理,可以对该三个值分别进行如上处理。具体的,可以得到处理后的三个分量值依次为R’=(a×R0)%b,G’=(a×G0)%b,B’=(a×B0)%b。也即处理后该像素的R、G、B三个分量依次为R’、G’、B’。依次类推,可以对所述第一子区域中每个像素的像素值进行如上处理。
另外,本领域技术人员理解,当所述R、G、B分量的存储空间小于8个比特时,所述参数b的取值优选为每个分量的最大取值。比如,假设R分量占用4个比特,则其取值范围为[0,15],相应的所述参数b的取值优选为15。
在另一实施方式中,所述预定处理可以相对简单,以减少运算量。具体,如图6所示,所述预定处理可以包括:
S620:对所述第一子区域的每一像素的像素值进行随机设置;
S640:将随机设置后的结果作为所述像素的新的像素值。
所述步骤S620中对每个像素的像素值进行随机设置是指在所述像素的像素值取值范围内随机设置。
首先,仍旧假设所述图像是灰度图像,所述像素值的取值范围为[0,255]。在处理过程中,可以不考虑所述像素的初始灰度值,而随机生成一个[0,255]范围内的新的灰度值作为所述像素的新的像素值。依次类推,可以得到所述第一子区域内每个像素的新的像素值。
对于所述图像是彩色图像的情况,可以对所述第一子区域中的每个像素的R、G、B三个分量分别在取值范围内进行随机设置,以得到三个新的分量,并将该三个新的分量作为所述像素的新的像素值。依次类推,可以得到所述第一子区域内每个像素的新的像素值。
另外,在另一实施方式中,可以在所述像素值进行随机设置后,进一步判断随机设置的像素值是否与初始像素值相同,如果相同,则重新进行随机设置。从而,可以实现最大化地对像素值进行修改。
在一个实施方式中,为了进一步提高机器识别的难度,所述预定处理还包括:对所述第一子区域的边缘进行弯曲处理。所谓弯曲处理,也就是让所述第一子区域的边缘呈曲线状,而非直线。换句话说,所述弯曲处理也就是要求在确定所述第一子区域的边缘时,要求边缘上像素坐标的连线为曲线。所述曲线比如可以波浪线,特定的函数曲线(比如余弦曲线)等。这种弯曲处理,对于人类对图像的识别几乎不会产生任何影响,但可以显著提高机器识别的难度。
S440:从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入。
所述终端可以提示用户按照预定的方式对所述第一子区域或所述第二子区域进行选择输入。比如通过点击、拖曳等方式。用户输入完成后,所述终端可以将用户的输入发送给所述服务器。
S460:根据所述选择输入判断所述用户是人类还是机器。
所述服务器预先知道所述第一子区域是非正常区域,所述第二子区域是正常区域,同时也知道用户应该选择所述第一子区域或所述第二子区域。换句话说,所述服务器知道“问题的答案”。因此,可以根据用户的输入判断用户输入是否正确。
一般地,当用户输入正确时,所述服务器直接判断所述用户是人类。而当用户输入不正确时,所述服务器会再给所述用户至少一次机会,即向用户发送新的图像,并接收用户输入。当用户连续多次验证失败时,会判断用户是机器,并可以进一步限制用户在预定时间内禁止登陆等。
如图7所示,在一种实施方式中,所述方法还包括:
S400:建立一图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
S410:从所述图像库中选择一初始图像。
其中,所述初始图像是后续用于进行所述预定处理的图像。
在一个实施方式中,所述步骤S410中,根据对比度(contrast)从所述图像库中选择所述初始图像。所谓对比度是指图像的亮暗对比程度,一副图像上相邻像素之间的亮暗差别越大,则对比度越高,反之,则对比度越低。对所述对比度详细说明及计算公式,可以参考以下网址:http://www.docin.com/p-611781278.html。
本申请中,当按照对比度选择所述初始图像时,所述初始图像的对比度越高,则经过所述预定处理后的图像中所述第一子区域和所述第二子区域的区别越小。因此,机器对两者区分难度越高,更难识别出哪个区域是经过所述预定处理的,人类则几乎不受影响。因此,可以通过选择不同的对比度的所述初始图像,调整所述用户对所述图像的识别难度。比如,当用户第一次验证失败后(也即,判断结果是,所述用户是机器的概率大于是人类的概率),当向所述用户输出新的用于验证的图像时,选择一个对比度更高的初始图像,经过所述预定处理后输出给所述用户。
在另一实施方式中,所述步骤S410中,可以根据所述用户对不同图像的熟悉度从一图像库中选择一初始图像。优选地,所述方法会选择用户更加熟悉的图像作为所述初始图像,从而提高合法用户的验证效率。一般地,用户会比较熟悉来自自己的本地存储设备的图像。或者,还可以根据用户的地理位置选择用户比较熟悉的初始图像。比如,一般情况下用户会比较熟悉自己住所附近的街景照,相反会对距离自己住所较远的地方的街景照比较陌生。
本申请所述方法可以选择上述标准中的一个或两个选择所述初始图像。
综上,本申请所述方法可以通过服务器和终端的配合,有效地对用户进行验证,该方法可以降低合法用户的验证难度,同时可以有效避免非法用户借助计算机技术暴力破解验证码,进而进行网络攻击等非法行为。
图8是本申请一种验证用户的终端的模块结构示意图。如图8所示,所示终端800包括:
一第一输出模块820,用于向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
一第二输出模块840,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
一第一接收模块860,用于接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
以下结合附图具体实施方式详细说明各个模块的功能。
所示第一输出模块820,用于向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值。
其中,所示第一输出模块820可以通过一显示屏幕向用户输出所述图像,比如通过电脑或手机的显示屏幕输出所述图像。
所述图像可以比如是一网络图像,比如网友分享的风景照片、人物照片。所述图像还可以比如是用户本地存储设备上的图像,比如用户存储在本地硬盘上的照片等。
在一种实施方式中,所述图像是灰度图像,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。附图2是本申请一个实施例所述图像的示意图,所述图像为一黑白照片,照片内容为幼儿园场景,附图2中虚线矩形框所围成的区域为所述第一子区域210,剩余区域为所述第二子区域。从图中可以看到,经过对所述第一子区域210的像素值进行处理,矩形框所围成的区域和周围的区域明显不同,看上去很不自然。
在另一种实施方式中,所述图像是彩色图像,对于彩色图像而言,每个像素具有R、G、B三个分量,相应的所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。发明人在实验中发现,当初始图像为彩色图像时,通过对初始图像的第一子区域进行所述预定处理,处理后的图像中,第一子区域会显得更加不自然,从而更容易被合法用户(即人类用户)所识别。
如图9所示,在一个实施方式中,所述终端800还包括:
一第二接收模块810,用于从一服务器接收所述图像,所述预定处理由所述服务器完成。
所述服务器对所述图像的第一子区域的像素值进行所述预定处理,主要是指对所述第一子区域中至少部分像素的像素值进行修改,从而使所述第一子区域的图像风格、色彩等与处理之前不同,进而当人类用户看到所述图像时,会感觉所述第一子区域是“不自然”或“不正常”的。
当然了,所述图像也可以由另一图像处理设备进行预先处理,然后将处理后的图像以及处理结果发送给所述服务器。简单起见,本申请说明书主要以所述服务器直接对所述图像进行处理为例进行说明。
具体的,所述服务器可以从网络或者用户的本地存储设备(预先获得用户的授权)先获取初始图像,然后对初始图像进行所述预定处理,再将处理的图像通过终端显示器输出给用户。所述预定处理的具体过程后文将详细说明。
所示第二输出模块840,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域。
所示第二输出模块840可以通过文字、语音等方式将所述指示信息输出给用户。比如,在一个实施例中,可以所述图像的下方输出“请点击图像中的非正常区域”以提示用户对所述第一子区域进行点击选择。不难理解,所述提示信息也可以提示用户选择图像中的正常区域。
另外,对所述图像的特定区域的选择并不仅限于点击选择,比如所述提示信息还可以提示用户将相应区域拖曳至一目标区域等。
所述第一接收模块860,用于接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
所述第一接收模块860可以通过触摸屏、键盘、鼠标或触摸板等接收用户的选择输入。
如图9所示,在一个实施方式中,所述终端800还包括:
一发送模块870,用于向服务器发送所述选择输入;
一第三接收模块880,用于从所述服务器接收一判断结果。
所述发送模块870可以通过和所述服务器之间的有线或无线连接向所述服务器发送所述选择输入,以及从所述服务器接收所述判断结果。
比如,当所述提示信息提示用户点击图像中的非正常区域时,如果用户点击的是所述第一区域,则所述服务器判断所述用户是人类。反之,如果用户点击的是所述第二区域,则所述服务器可以判断所述用户较大概率(比如超过70%)是机器。
如图9所示,在一个实施方式中,所述终端800还包括:
一第四接收模块890,用于响应于所述判断结果是所述用户是机器的概率大于是人类的概率,从所述服务器接收一新的图像;
其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
也就是说,当所述判断结果是所述用户是机器的概率大于是人类的概率时,为了尽量减少误判,所述终端可以从所述服务器接收一个新的图像,以便对所述用户进行再次验证。如果用户通过了再次验证,则可以判断用户为人类。相反,如果用户验证失败次数达到预定值,比如3次,则可以限制用户在预定时间内禁止登陆相应的网站。
另外,本申请还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
上述内容主要是终端800对用户进行验证的过程,此外,本申请还提供一种与所述终端进行配合的服务器1000。如图10所示,所述终端800和服务器1000可以通过有线或者无线网络进行通信连接。
图11是本申请所述服务器1000的模块结构示意图。如图10所示,所述服务器1000包括:
一发送模块1020,用于向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
一接收模块1040,用于从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
一判断模块1060,用于根据所述选择输入判断所述用户是人类还是机器。
以下将结合附图和具体实施方式详细说明所述服务器1000的各个模块的功能。
所述发送模块1020,用于向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值。
如前文所述,所述图像可以是灰度图像或者彩色图像。当所述图像是灰度图像时,所述第一子区域的像素值是所述第一子区域中每一像素的灰度值。当所述图像是彩色图像时,所述第一子区域的像素值是所述第一子区域中每一像素的RGB值中至少一个分量值。
如前文所述,对所述图像的第一子区域的预定处理可以由所述服务器1000完成,也可以由另一图像处理设备完成后提供给所述服务器1000,进而由所述服务器1000发送给所述终端800。简单起见,本申请说明书主要介绍由所述服务器1000直接对所述图像进行所述预定处理的情况。
对所述图像的预定处理,其目的只是使处理之后的所述第一子区域让人类用户感觉“不自然”或“不正常”,因此,本申请并不具体限定所述预定处理的具体方式。以下给出两种示例处理方式,本领域技术人员可以据此进行合理的变换。
如图12所示,在一个实施方式中,所述服务器1000还包括:一处理模块1010,用于对所述第一子区域的像素值进行所述预定处理。
如图13所示,在一个实施方式中,所述处理模块1010包括:
一乘运算单元1011,用于对所述第一子区域的每一像素的像素值乘以第一预定值;
一模运算单元1012,用于将乘积以第二预定值做模运算;
一像素修改单元1013,用于将所述模运算的结果作为所述像素的新的像素值
简单起见,先假设所述图像为灰度图像,所述第一子区域的某一像素的初始像素值为一灰度值Gr0。一般地,如果每个像素占用8比特的存储空间,则所述灰度值Gr0的取值区间为[0,255]。所述乘运算单元1011中,所述第一预定值a可以为任意值,优先为大于1的整数,从而将像素值放大。所述模运算单元1012中所述第二预定值b一般是所述像素值的最大取值,比如假设所述灰度值Gr0的取值区间为[0,255],则所述第二预定值优选为255,从而可以使运算结果具有较大的分布范围。因此,对于初始灰度值为Gr0的像素而言,其处理后的新的像素值为Gr=(a×Gr0)%b。依次类推,可以对所述第一子区域中每个像素的像素值进行如上处理。
再者,假设所述图像为彩色图像。对于彩色图像而言,每个像素的像素值包括R、G、B三个分量,假设所述第一子区域中某一像素的初始像素值包括R0、G0、B0三个值。类似于对灰度值的处理,可以对该三个值分别进行如上处理。具体的,可以得到处理后的三个分量值依次为R’=(a×R0)%b,G’=(a×G0)%b,B’=(a×B0)%b。也即处理后该像素的R、G、B三个分量依次为R’、G’、B’。依次类推,可以对所述第一子区域中每个像素的像素值进行如上处理。
另外,本领域技术人员理解,当所述R、G、B分量的存储空间小于8个比特时,所述参数b的取值优选为每个分量的最大取值。比如,假设R分量占用4个比特,则其取值范围为[0,15],相应的所述参数b的取值优选为15。
如图14所示,在另一实施方式中,所述处理模块1010包括:
一随机设置单元1011’,用于对所述第一子区域的每一像素的像素值进行随机设置;
一像素修改单元1012’,用于将随机设置后的结果作为所述像素的新的像素值。
所述随机设置单元1011’中对每个像素的像素值进行随机设置是指在所述像素的像素值取值范围内随机设置。
首先,仍旧假设所述图像是灰度图像,所述像素值的取值范围为[0,255]。在处理过程中,可以不考虑所述像素的初始灰度值,而随机生成一个[0,255]范围内的新的灰度值作为所述像素的新的像素值。依次类推,可以得到所述第一子区域内每个像素的新的像素值。
对于所述图像是彩色图像的情况,可以对所述第一子区域中的每个像素的R、G、B三个分量分别在取值范围内进行随机设置,以得到三个新的分量,并将该三个新的分量作为所述像素的新的像素值。依次类推,可以得到所述第一子区域内每个像素的新的像素值。
另外,在另一实施方式中,可以在所述像素值进行随机设置后,进一步判断随机设置的像素值是否与初始像素值相同,如果相同,则由所述随机设置单元1011’重新进行随机设置。从而,可以实现最大化地对像素值进行修改。
如图13所示,在一个实施方式中,为了进一步提高机器识别的难度,所述处理模块1010还包括:一弯曲处理单元1014,用于对所述第一子区域的边缘进行弯曲处理。所谓弯曲处理,也就是让所述第一子区域的边缘呈曲线状,而非直线。换句话说,所述弯曲处理也就是要求在确定所述第一子区域的边缘时,要求边缘上像素坐标的连线为曲线。所述曲线比如可以波浪线,特定的函数曲线(比如余弦曲线)等。这种弯曲处理,对于人类对图像的识别几乎不会产生任何影响,但可以显著提高机器识别的难度。
如图14所示,在另一实施方式中,所述处理模块1010还包括:一弯曲处理单元1013’,用于对所述第一子区域的边缘进行弯曲处理。所述弯曲处理单元1013’可以与所述弯曲处理单元1014的功能相同,不再赘述。
所述接收模块1040,用于从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入。
所述终端800可以提示用户按照预定的方式对所述第一子区域或所述第二子区域进行选择输入。比如通过点击、拖曳等方式。用户输入完成后,所述终端800可以将用户的输入发送给所述服务器1000。
所述判断模块1060,用于根据所述选择输入判断所述用户是人类还是机器。
所述服务器1000预先知道所述第一子区域是非正常区域,所述第二子区域是正常区域,同时也知道用户应该选择所述第一子区域或所述第二子区域。换句话说,所述服务器1000知道“问题的答案”。因此,可以根据用户的输入判断用户输入是否正确。
一般地,当用户输入正确时,所述服务器1000直接判断所述用户是人类。而当用户输入不正确时,所述服务器1000会再给所述用户至少一次机会,即向用户发送新的图像,并接收用户输入。当用户连续多次验证失败时,会判断用户是机器,并可以进一步限制用户在预定时间内禁止登陆等。
如图15所示,在一个实施方式中,所述服务器1000还包括:
一图像库建立模块1070,用于建立一图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
一图像选择模块1080,用于从所述图像库中选择一初始图像。
其中,所述初始图像是后续用于进行所述预定处理的图像。
在一个实施方式中,所述图像选择模块1080,用于根据对比度从所述图像库中选择所述初始图像。所谓对比度是指图像的亮暗对比程度,一副图像上相邻像素之间的亮暗差别越大,则对比度越高,反之,则对比度越低。对所述对比度详细说明及计算公式,可以参考以下网址:http://www.docin.com/p-611781278.html。
本申请中,当按照对比度选择所述初始图像时,所述初始图像的对比度越高,则经过所述预定处理后的图像中所述第一子区域和所述第二子区域的区别越小,机器对两者区分难度越高,人类则几乎不受影响。因此,可以通过选择不同的对比度的所述初始图像,调整所述用户对所述图像的识别难度。比如,当用户第一次验证失败后,当向所述用户输出新的用于验证的图像时,选择一个对比度更高的初始图像,经过所述预定处理后输出给所述用户。在一个实施方式中,所述发送模块1020还用于,响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送一新的图像;其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
在另一个实施方式中,所述图像选择模块1080,用于根据所述用户对不同图像的熟悉度从所述图像库中选择所述初始图像。优选地,所述图像选择模块1080会选择用户更加熟悉的图像作为所述初始图像,从而提高合法用户的验证效率。一般地,用户会比较熟悉来自自己的本地存储设备的图像。或者,还可以根据用户的地理位置选择用户比较熟悉的初始图像。比如,一般情况下用户会比较熟悉自己住所附近的街景照,相反会对距离自己住所较远的地方的街景照比较陌生。
本申请所述图像选择模块1080可以基于对运算量的考虑选择上述标准中的一种选择所述初始图像,当然也可以同时结合上述两个标准选择所述初始图像。
另外,本申请还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
本发明实施例所述终端的一种结构如图16所示。本发明具体实施例并不对所述终端的具体实现做限定,参见图16,所述终端1600可以包括:
处理器(processor)1610、通信接口(Communications Interface)1620、存储器(memory)1630,以及通信总线1640。其中:
处理器1610、通信接口1620,以及存储器1630通过通信总线1640完成相互间的通信。
通信接口1620,用于与服务器通信。
处理器1610,用于执行程序1632,具体可以执行上述图1所示的方法实施例中的相关步骤。
具体地,程序1632可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1610可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1630,用于存放程序1632。存储器1630可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1632具体可以执行以下步骤:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
程序1632中各步骤的具体实现可以参见上述实施例中的相应步骤或模块,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本发明实施例一种服务器的结构如图17所示。本发明具体实施例并不对所述服务器的具体实现做限定,参见图17,所述服务器1700可以包括:
处理器(processor)1710、通信接口(Communications Interface)1720、存储器(memory)1730,以及通信总线1740。其中:
处理器1710、通信接口1720,以及存储器1730通过通信总线1740完成相互间的通信。
通信接口1720,用于与终端通信。
处理器1710,用于执行程序1732,具体可以执行上述图4所示的方法实施例中的相关步骤。
具体地,程序1732可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1710可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1730,用于存放程序1732。存储器1730可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1732具体可以执行以下步骤:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
程序1732中各步骤的具体实现可以参见上述实施例中的相应步骤或模块,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,控制器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种验证用户的方法,其特征在于,所述方法包括:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
2.一种验证用户的方法,其特征在于,所述方法包括:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
3.一种验证用户的终端,其特征在于,所述终端包括:
一第一输出模块,用于向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
一第二输出模块,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
一第一接收模块,用于接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
4.如权利要求3所述的终端,其特征在于,所述终端还包括:
一发送模块,用于向服务器发送所述选择输入;
一第三接收模块,用于从所述服务器接收一判断结果。
5.如权利要求4所述的终端,其特征在于,所述终端还包括:
一第四接收模块,用于响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收一新的图像;
其中,所述新的图像对应所述预定处理之前的一第二初始图像,所述图像对应所述预定处理之前的一第一初始图像,所述第二初始图像的对比度高于所述第一初始图像的对比度。
6.一种验证用户的服务器,其特征在于,所述服务器包括:
一发送模块,用于向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
一接收模块,用于从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
一判断模块,用于根据所述选择输入判断所述用户是人类还是机器。
7.一种终端设备,其特征在于,所述终端设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
8.一种服务器设备,其特征在于,所述服务器设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
9.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序使计算机执行下述方法:
向用户输出一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一子区域或所述第二子区域;
接收所述用户对所述第一子区域或所述第二子区域的选择输入,所述选择输入用于判断所述用户是人类还是机器。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序使计算机执行下述方法:
向一终端发送一图像,所述图像包括第一子区域和第二子区域,所述第一子区域的像素值经过预定处理以区别于所述图像的初始像素值,所述第二子区域的像素值是所述图像的初始像素值;
从所述终端接收用户对所述第一子区域或所述第二子区域的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810152127.3A CN109033792A (zh) | 2018-02-14 | 2018-02-14 | 一种验证用户的方法、终端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810152127.3A CN109033792A (zh) | 2018-02-14 | 2018-02-14 | 一种验证用户的方法、终端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109033792A true CN109033792A (zh) | 2018-12-18 |
Family
ID=64629546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810152127.3A Pending CN109033792A (zh) | 2018-02-14 | 2018-02-14 | 一种验证用户的方法、终端和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033792A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902875A (zh) * | 2014-03-04 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 验证码图片的生成方法和装置及验证方法和装置 |
CN105323065A (zh) * | 2014-07-21 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 一种安全验证方法及装置 |
CN106156595A (zh) * | 2015-04-02 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 一种通过验证码图片进行验证的方法、装置及系统 |
-
2018
- 2018-02-14 CN CN201810152127.3A patent/CN109033792A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902875A (zh) * | 2014-03-04 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 验证码图片的生成方法和装置及验证方法和装置 |
CN105323065A (zh) * | 2014-07-21 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 一种安全验证方法及装置 |
CN106156595A (zh) * | 2015-04-02 | 2016-11-23 | 深圳市腾讯计算机系统有限公司 | 一种通过验证码图片进行验证的方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dunphy et al. | A closer look at recognition-based graphical passwords on mobile devices | |
US20090150983A1 (en) | System and method for monitoring human interaction | |
US9684780B2 (en) | Dynamic interactive identity authentication method and system | |
US20040225880A1 (en) | Strong authentication systems built on combinations of "what user knows" authentication factors | |
WO2020007498A1 (en) | Method for producing dynamic password identification for users such as machines | |
CN101739720B (zh) | 三维动态验证码的生成方法及装置 | |
EP2750351B1 (en) | 3d cloud lock | |
US20040093527A1 (en) | Method of authentication using familiar photographs | |
US20100199337A1 (en) | System and method for establishing and authorizing a security code | |
CN113422687B (zh) | 一种验证方法、验证服务器和验证系统 | |
CN107967422A (zh) | 一种验证实现方法及电子终端 | |
WO2015062441A1 (zh) | CGI web界面下的多会话验证码的产生及验证方法 | |
WO2016133616A1 (en) | Mutual authentication with integrated user muscle memory | |
US11921830B2 (en) | System and method for verifying unique user identification | |
CN109388933A (zh) | 基于动态子图的验证方法、装置、用户设备及存储介质 | |
CN109033792A (zh) | 一种验证用户的方法、终端和服务器 | |
KR101600474B1 (ko) | 솔티드 패스워드 인증방법 | |
CN109040001A (zh) | 一种验证用户的方法、终端和服务器 | |
US20230297661A1 (en) | Computer challenge systems based on shape combinations | |
US11003756B2 (en) | System and method for verifying unique user identification | |
US20220382848A1 (en) | Human Verification Based on Trans-Saccadic Memory | |
TWI837888B (zh) | 身分驗證方法及與其相關的電子裝置和系統 | |
KR20100108490A (ko) | 합성 이미지 기반 인증 프로토콜 | |
AU2004323374B2 (en) | Authentication system and method based upon random partial digitized path recognition | |
CN110892677A (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 |