CN107241306A - 一种人机识别方法、服务端、客户端及人机识别系统 - Google Patents
一种人机识别方法、服务端、客户端及人机识别系统 Download PDFInfo
- Publication number
- CN107241306A CN107241306A CN201710010478.6A CN201710010478A CN107241306A CN 107241306 A CN107241306 A CN 107241306A CN 201710010478 A CN201710010478 A CN 201710010478A CN 107241306 A CN107241306 A CN 107241306A
- Authority
- CN
- China
- Prior art keywords
- client
- service end
- code segment
- man
- random
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/316—User authentication by observing the pattern of computer usage, e.g. typical user behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本发明公开了一种人机识别方法、服务端、客户端及人机识别系统,其中,所述人机识别方法包括:服务端接收客户端发送的操作请求,与所述客户端建立连接;在所述服务端中生成仅适用于预设客户端的随机代码片段作为待执行代码段,并将所述待执行代码段发送至所述客户端;所述服务端接收并验证所述客户端发送的执行了待执行代码段后的执行结果;若所述执行结果验证通过,则将人机识别结果确定为用户在预设客户端的操作;若所述执行结果验证未通过,则将人机识别结果确定为机器操作。本发明方案将客户端的特性作为人机识别的评判标准,使用户无需参与到人机识别的过程中,免去了用户繁琐的操作,能够大大提高用户操作的效率及流畅度。
Description
技术领域
本发明涉及网络安全领域,具体涉及一种人机识别方法、服务端、客户端及人机识别系统。
背景技术
互联网的近几年的快速发生,丰富娱乐了人们的生活,越来越多的人选择使用互联网进行日常金融操作,例如登录网上银行管理银行账户、在线购物等。而互联网也常常伴随有黑客的活动。黑客们利用网络机器人,例如自动化脚本、桌面或服务端程序等,能够以全自动暴力破解的方式快速破解数据敏感度比较高的使用场景,获得普通用户的各种隐私信息,例如银行账户密码、在线购物的登录密码等,严重危害用户利益。目前业界普遍使用的防护方法是全自动区分计算机和人类的图灵测试(CAPTCHA,Completely AutomatedPublic Turing Test to Tell Computers and Humans Apart),即在用户到达存在敏感数据操作的应用登录界面时,系统会在后台生成一幅图片并在图片上嵌入一个随机字符串,当客户端发送登录请求给服务端时,如果服务端检测到了客户端发送来了正确的图片上的字符串内容,则认为此时的客户端为普通用户在操作而不是网络机器人,因为普遍认为机器是很难快速、动态且准确的识别出图片上的随机字符串的。
CAPTCHA技术虽然一定程度上的解决了人机识别的大部分工作,但同时也极大的影响了人们操作的流畅性。特别是当用户使用的上网设备为移动终端时,辨别图片上的随机数字并输入是非常繁琐的。因而现有的人机识别技术造成了用户操作时效率及流畅度的低下。
发明内容
针对现有技术,本发明提供了一种人机识别方法、服务端、客户端和人机识别系统,旨在保证人机识别效率的同时,提高用户的操作的操作效率及流畅度。
本发明目的之一在于提供了一种人机识别方法,其包括以下步骤:
服务端接收客户端发送的操作请求,与所述客户端建立连接;
在所述服务端中生成随机代码片段作为待执行代码段,并将所述待执行代码段发送至所述客户端,其中,所述待执行代码段为只能在预设的客户端运行环境下执行的代码段;
所述服务端接收并验证所述客户端发送的执行了待执行代码段后的执行结果;
若所述执行结果验证通过,则将人机识别结果确定为用户在预设客户端的操作;
若所述执行结果验证未通过,则将人机识别结果确定为机器操作。
本发明目的之二在于的提供了一种人机识别方法,其包括以下步骤:
客户端向服务端发送操作请求,与所述服务端建立连接;
所述客户端接收并执行所述服务端发送的待执行代码段,得到执行结果;
将所述执行结果发送至所述服务端,以便于所述服务端基于所述执行结果进行人机识别。
本发明目的之三在于提供了一种服务端,其包括:
连接建立单元,用于接收客户端发送的操作请求,与所述客户端建立连接;
代码生成单元,用于生成随机代码片段作为待执行代码段,其中,所述待执行代码段为只能在预设的客户端运行环境下执行的代码段;
数据发送单元,用于将所述代码生成单元生成的待执行代码段发送至所述客户端;
验证单元,用于接收并验证所述客户端发送的执行了待执行代码段后的执行结果;
人机识别结果确定单元,用于在所述执行结果通过所述验证单元的验证时,将人机识别结果确定为用户在预设客户端的操作,在所述执行结果未通过所述验证单元的验证时,将人机识别结果确定为机器操作。
本发明目的之四在于提供了一种客户端,其包括:
连接建立单元,用于向服务端发送操作请求,并与所述服务端建立连接;
数据接收单元,用于接收所述服务端发送的待执行代码段,
代码执行单元,用于执行所述数据接收单元接收的待执行代码段,得到执行结果;
执行结果发送单元,用于将所述代码执行单元得到的执行结果发送至服务端,以便于所述服务端基于所述执行结果进行人机识别。
本发明目的之五在于提供了一种人机识别系统,其包括如上所述的服务端和与如上所述的服务端相连的如上所述的客户端。
由上可见,在本发明方案中,由服务端接收客户端发送的操作请求,与客户端建立连接,并在服务端中生成随机代码片段作为待执行代码段,将所述待执行代码段发送至所述客户端后,由所述服务端接收并验证客户端发送的执行了待执行代码段后的执行结果,若所述执行结果验证通过,则将人机识别结果确定为用户在预设客户端的操作,若所述执行结果验证未通过,则将人机识别结果确定为机器操作。本发明方案无需用户参与到人机识别的过程中,免去了用户繁琐的操作,能够大大提高用户操作的效率及流畅度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的人机识别方法的实现流程图;
图2为本发明实施例提供的人机识别方法步骤S102的一种具体实现流程图;
图3为本发明实施例提供的另一种人机识别方法的实现流程图;
图4为本发明实施例提供的服务端的结构框图;
图5为本发明实施例提供的客户端的结构框图;
图6为本发明实施例提供的人机识别系统的结构框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的人机识别方法的实现流程,详述如下:
在步骤S101中,服务端接收客户端发送的操作请求,与上述客户端建立连接。
在本发明实施例中,服务端首先接收客户端发送的操作请求,并在当上述服务端并未与上述客户端建立连接时,与上述客户端建立网络连接。上述客户端发送的操作请求可以是请求访问敏感度较高的页面,例如请求访问需要用户输入账号及密码以进行登录的登录页面、信息下载页面或者是用户个人隐私度较高的页面。在上述这些操作请求下,才需要对这些操作进行人机识别,避免网络机器人对敏感信息的窃取。当然,在接收到其它类型的操作请求时,也可以对客户端使用本发明实施例方案进行人机识别,此处不作限定。
在步骤S102中,在上述服务端中生成随机代码片段作为待执行代码段,并将上述待执行代码段发送至上述客户端。
在本发明实施例中,服务端将在与客户端建立连接后,生成随机代码片段作为待执行代码段,并作为对上述客户端发送的操作请求的响应,将上述待执行代码段伴随客户端请求访问的页面,例如登录页面等,发送至客户端,其中,上述待执行代码段为只能在预设的客户端运行环境下执行的代码段,例如JavaScript代码,通常情况下普通用户使用的访问网络页面的客户端,即主流浏览器,都具备执行JavaScript代码的功能。为了保证上述待执行代码段只有主流浏览器能够执行,网络机器人如各种测试工具等无法执行与使用,开发人员前期在服务端中进行统一资源定位符(Uniform Resource Locator,URL)的应用程序编程接口(Application Programming Interface,API)的设计时,需保证其是提供给主流浏览器的。可选地,服务端会在将上述待执行代码段发送至上述客户端之前,保存一份预设运行环境下的正确执行结果,作为对后续客户端发送的执行结果的进行验证的参考基准。进一步地,为了防止数据传输过程中信息的泄露,保证通信数据的安全,上述待执行代码段在发送至客户端之前,可以先作强混淆处理。还可以在发送至客户端的数据中携带随机加密秘钥,防止网络机器人利用服务端已进行过身份验证的数据进行欺骗。
在步骤S103中,上述服务端接收并验证上述客户端发送的执行了待执行代码段后的执行结果。
在本发明实施例中,在服务端在发送了待执行代码段至上述客户端后,客户端会执行上述待执行代码段并得到执行结果,即得到待执行代码段的返回值,在下一次客户端发送数据至服务端时,上述执行结果将一并被发送至服务端。服务端接收了客户端发送的上述执行结果后,会对上述执行结果进行验证,以确定跟服务端进行会话的是普通用户还是网络机器人。
在步骤S104中,若上述执行结果验证通过,则将人机识别结果确定为用户在预设客户端的操作,若上述执行结果验证未通过,则将人机识别结果确定为机器操作。
在本发明实施例中,由于上述待执行代码段只能在特定的客户端运行环境下执行,因此只要上述执行结果与上述服务端保存的正确执行结果一致,就认为此时与服务端进行通话的不是网络机器人,而是普通用户,因为网络机器人往往是在非浏览器模式直接向服务端发送请求并实现暴力破解,无法执行上述待执行代码段,自然也无法获得正确的执行结果。此时,人机识别结果被确定为用户在预设客户端的操作,服务端将继续验证用户的其它信息是否正确,例如用户名及密码是否匹配等。相反的,若接收到的上述执行结果与上述服务端保存的正确执行结果不一致,则认为此时与服务端进行通话的是网络机器人,人机识别结果被确定为机器操作,服务端可以选择结束与客户端的对话,也可以选择返回步骤S101,重复上述步骤,再次进行验证。
可选地,为了降低待执行代码段被破解的风险,在将上述待执行代码段发送至上述客户端之前,上述人机识别方法还包括:
在上述待执行代码段中加入延时算法和/或客户端的信息指纹。
其中,虽然步骤S101至步骤S104已经能够保证网络机器人无法模拟客户端获取用于人机识别的待执行代码段,确保了与服务端进行对话的一定是普通用户使用的主流浏览器,但是,可能会出现攻击者是在浏览器环境下作暴力破解的情况,因而,上述人机识别方法仍然存在一定的隐患。为了彻底杜绝此类情况,可以在待执行代码段中加入延时算法,例如,每次执行完后需要等待一定时间才能返回执行结果,这样在攻击者使用的是浏览器暴力破解,解析过程较为低效的情况下,再在待执行代码段中加入延时算法可以大大降低在浏览器环境下执行暴力破解的风险。
或者,还可以在待执行代码段中加入客户端的信息指纹。其中,客户端的信息指纹包括软件指纹及硬件指纹。软件指纹为,不同的服务端中服务器的操作系统,Web容器等会影响到HTTP头信息的顺序。硬件指纹为,由于反向透明代理系统的存在,客户端与服务端之间的映射关系等信息也会影响到HTTP头信息。由于网络机器人进行暴力破解时并不关注或者涵盖客户端信息指纹的差异,因而,通过对信息指纹的完整性检验,能够达到服务端发送给客户端的代码只有在预设的客户端环境下才能够运行的目的,进一步提高客户端与服务端之间的通信安全性。
图2示出了步骤S102的一种具体实现流程:
在步骤S201中,在预设的服务端随机算法库中抽取任一随机算法作为目标随机算法。
在步骤S202中,上述服务端调用上述目标随机算法生成函数名、变量名均随机的随机函数,作为上述待执行代码段。
在本发明实施例中,由开发人员预先在服务端构建一个随机算法库,每次需要生成待执行代码段时,在后台从上述随机算法库中抽取任意一个随机算法作为目标随机算法,并在随机函数的内部调用该目标随机算法。并且,该随机函数的函数名称,变量名称及函数返回值均为随机生成的。因为自动化工具永远不知道服务端生成的待生成代码段是什么,也就无法自动识别和执行了,以此能够防止自动化工具等类型的网络机器人在非浏览器模式下直接向上述服务端发送请求并实现暴力破解。
在步骤S203中,将上述执行代码段放入HTTP响应体的随机位置,发送至客户端。
在本发明实施例中,为了防止网络机器人针对待执行代码段在HTTP响应体的位置,找到待执行代码段并执行,在将待执行代码段放入HTTP响应体时,随机的设置待执行代码段的存放位置,以避免网络机器人找到待执行代码段的固定位置并实现破解。
由上可知,在本发明实施例中,在服务端中生成只有在预设的客户端运行环境下才能执行的代码段,并在接收了客户端返回的执行结果后进行验证,实现对客户端的人机识别,提供了透明的、用户无感知的人机识别方法。运用本发明方案,无需再在登录、注册等页面要求用户输出CAPTCHA,达到了用户体验与安全性之间的平衡。同时,由于待执行代码段只能在预设的客户端运行环境下执行,因此能够限制非标准客户端使用服务提供者提供的服务,也即是能够防止API的盗用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,上述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图3示出了本发明实施例二提供的一种人机识别方法的实现流程,详述如下;
在步骤S301中,客户端向服务端发送操作请求,与上述服务端建立连接。
在步骤S302中,上述客户端接收并执行上述服务端发送的待执行代码段,得到执行结果。
在本发明实施例中,在用户需要访问敏感度较高的页面时,客户端先向服务端发起应用请求,与上述服务端建立网络连接。在与服务端建立连接后,服务端将对客户端发起的应用请求作出响应,在HTTP响应体中包含有待执行代码段。上述客户端将会在服务端的HTTP响应体中找到并执行上述待执行代码段。其中,上述待执行代码段为预设的客户端环境下才能执行的代码段,例如JavaScript代码。通常情况下,普通用户使用的访问网络页面的客户端为Web客户端,即主流浏览器。可选地,由于上述JavaScript代码在HTTP响应体当中的位置随机,虽然可以一定程度的防止网络机器人对其进行暴力破解,但是,网络机器人仍可能通过文档对象模型(HTML Document Object Model,HTML DOM)的可扩展标记语言路径语言(Xml Path Language,Xpath)找到位于HTTP响应体随机位置的待执行代码段,因此,需要在Web应用的View层增加随机算法,根据上述View层的随机算法将上述待执行代码段保存于上述Web客户端的随机位置上并保证可以正确执行,以避免网络机器人仿真的执行上述待执行代码段完成暴力破解。
在步骤S303中,将上述执行结果发送至服务端,以便于上述服务端基于上述执行结果进行人机识别。
在本发明实施例中,上述步骤S301至S302确保了只有在预设的客户端运行环境下才能执行服务端发送的待执行代码段,在获得待执行代码段的执行结果后,在下一次向服务端发起数据传输时,例如用户在登录页面上输入了用户名及密码并提交请求后,将上述待执行结果与用户的用户名及密码一并发送至上述服务端,等待服务端对执行结果及用户信息进行验证。
由上可见,在本发明实施例中,由于服务端发送到客户端的待执行代码段为只有在预设的客户端运行环境下才能执行的代码段,具备不可绕过性,用户无需再在客户端的登录、注册等页面输入CAPTCHA,达到了用户体验与安全性之间的平衡,提供了透明的、用户无感知的人机识别方法。同时,由于待执行代码段只能在预设的客户端运行环境下执行,因此能够限制非标准客户端使用服务提供者提供的服务,也即是能够防止API的盗用。
实施例三
图4示出了本发明实施例三提供的服务端的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该服务端4包括:连接建立单元41,代码生成单元42,数据发送单元43,验证单元44,人机识别结果确定单元45。
其中,连接建立单元41,用于接收客户端发送的操作请求,与上述客户端建立连接;
代码生成单元42,用于生成随机代码片段作为待执行代码段,其中,上述待执行代码段为只能在预设的客户端运行环境下执行的代码段;
数据发送单元43,用于将上述代码生成单元42生成的待执行代码段发送至上述客户端;
验证单元44,用于接收并验证上述客户端发送的执行了待执行代码段后的执行结果;
人机识别结果确定单元45,用于在上述执行结果通过上述验证单元44的验证时,将人机识别结果确定为用户在预设客户端的操作,在上述执行结果未通过上述验证单元44的验证时,将人机识别结果确定为机器操作。
可选地,上述代码生成单元42具体包括:
算法确定子单元,用于在预设的随机算法库中抽取任一随机算法作为目标随机算法;
随机函数生成子单元,用于调用上述目标随机算法生成函数名、变量名均随机的随机函数,作为上述待执行代码段;
上述数据发送单元具体用于,将上述随机函数生成子单元得到的待执行代码段放入HTTP响应体的随机位置,发送至客户端。
可选地,上述服务端还包括:
代码加强单元,用于在上述代码生成单元生成的待执行代码段中加入延时算法和/或客户端的信息指纹。
由上可知,在本发明实施例中,服务端中生成只有在预设的客户端运行环境下才能执行的代码段,并在接收了客户端返回的执行结果后进行验证,实现对客户端的人机识别,提供了透明的、用户无感知的人机识别方法。运用本发明方案,用户无需再在客户端的登录、注册等页面输入CAPTCHA,达到了用户体验与安全性之间的平衡。同时,由于待执行代码段只能在预设的客户端运行环境下执行,因此能够限制非标准客户端使用服务提供者提供的服务,也即是能够防止API的盗用。
实施例四
图5示出了本发明实施例四提供的客户端的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该客户端5包括:连接建立单元51,数据接收单元52,代码执行单元53,执行结果发送单元54。
其中,连接建立单元51,用于向服务端发送操作请求,并与上述服务端建立连接;
数据接收单元52,用于接收上述服务端发送的待执行代码段,
代码执行单元53,用于执行所述数据接收单元52接收的上述待执行代码段,得到执行结果;
执行结果发送单元54,用于将上述代码执行单元53得到的执行结果发送至上述服务端,以便于上述服务端基于上述执行结果进行人机识别。
可选地,上述客户端5为Web客户端,上述客户端5还包括:
代码保存单元,用于将上述数据接收单元52接收到的上述待执行代码片段保存于随机位置。
上述代码执行单元,具体用于,在由上述代码保存单元确定的随机位置上执行所述待执行代码段,得到执行结果。
由上可见,在本发明实施例中,客户端在接收了待执行代码段后存放于随机位置,以防止网络机器人找到待执行代码段并完成暴力破解。同时,由于服务端发送到客户端的待执行代码段为只有在预设的客户端运行环境下才能执行的代码段,因而在客户端无需用户再在登录、注册等页面输出CAPTCHA,达到了用户体验与安全性之间的平衡,提供了透明的、用户无感知的人机识别方法。同时,由于待执行代码段只能在预设的客户端运行环境下执行,因此能够限制非标准客户端使用服务提供者提供的服务,也即是能够防止API的盗用。
实施例五
图6示出了本发明实施例五提供的人机识别系统的具体结构框图,为了便于说明,仅示出了本发明实施例相关的部分。该人机识别系统6包括:服务端4及与上述服务端4连接的客户端5。
客户端5首先向服务端4发起操作请求,服务端4接收到请求后,调用随机算法生成待执行代码段,并连同客户端5向服务端4请求的页面一起返回客户端5,随后用户在客户端5正常提交服务端4请求的用户信息,同时客户端5自动执行待执行代码段得到执行结果,并将执行结果与用户提交的用户信息一起发送至服务端4,服务端4首先检验客户端5发送的执行结果,若验证通过,则将人机识别结果确认为用户在预设客户端的操作,继续验证其他用户信息,若验证未通过,则将人机识别结果确认为机器操作,服务端4可以选择结束此次对话。
本发明实施例提供的人机识别系统可以应用在前述对应的方法实施例一及方法实施例二中,详情参见上述实施例的描述,在此不再赘述。
在本方法实施例中,人机识别系统的服务端与客户端先在客户端的请求下建立连接,然后在服务端中生成只有在预设的客户端运行环境下才能执行的代码段,并在接收了客户端返回的执行结果后进行验证,实现对客户端的人机识别,提供了透明的、用户无感知的人机识别方法。运用本发明方案,无需再在登录、注册等页面要求用户输出CAPTCHA,达到了用户体验与安全性之间的平衡。同时,由于待执行代码段只能在预设的客户端运行环境下执行,因此能够限制非标准客户端使用服务提供者提供的服务,也即是能够防止API的盗用。
需要说明的是,在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种较佳实施例,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种人机识别方法,其特征在于,所述人机识别方法包括:
服务端接收客户端发送的操作请求,与所述客户端建立连接;
在所述服务端中生成随机代码片段作为待执行代码段,并将所述待执行代码段发送至所述客户端,其中,所述待执行代码段为只能在预设的客户端运行环境下执行的代码段;
所述服务端接收并验证所述客户端发送的执行了待执行代码段后的执行结果;
若所述执行结果验证通过,则将人机识别结果确定为用户操作;
若所述执行结果验证未通过,则将人机识别结果确定为机器操作。
2.如权利要求1所述的人机识别方法,其特征在于,所述在服务端中生成随机代码片段作为待执行代码段,并将所述待执行代码段发送至所述客户端,包括:
在预设的服务端随机算法库中抽取任一随机算法作为目标随机算法;
所述服务端调用所述目标随机算法生成函数名、变量名均随机的随机函数,作为所述待执行代码段;
将所述待执行代码段放入HTTP响应体的随机位置,发送至所述客户端。
3.如权利要求1所述的人机识别方法,其特征在于,所述服务端将所述待执行代码段发送至所述客户端,之前还包括:
在所述待执行代码段中加入延时算法和/或客户端的信息指纹。
4.一种人机识别方法,其特征在于,所述人机识别方法包括:
客户端向服务端发送操作请求,与所述服务端建立连接;
所述客户端接收并执行所述服务端发送的待执行代码段,得到执行结果;
将所述执行结果发送至所述服务端,以便与所述服务端基于所述执行结果进行人机识别。
5.如权利要求4所述的人机识别方法,其特征在于,所述客户端接收并执行所述服务端发送的待执行代码段,得到执行结果,包括:
所述客户端接收所述待执行代码段,并将所述待执行代码段保存于所述客户端的随机位置;
在所述客户端的随机位置上执行所述待执行代码段,得到执行结果。
6.一种服务端,其特征在于,所述服务端包括:
连接建立单元,用于接收客户端发送的操作请求,与所述客户端建立连接;
代码生成单元,用于生成随机代码片段作为待执行代码段,其中,所述待执行代码段为只能在预设的客户端运行环境下执行的代码段;
数据发送单元,用于将所述代码生成单元生成的待执行代码段发送至所述客户端;
验证单元,用于接收并验证所述客户端发送的执行了待执行代码段后的执行结果;
人机识别结果确定单元,用于在所述执行结果通过所述验证单元的验证时,将人机识别结果确定为用户操作,在所述执行结果未通过所述验证单元的验证时,将人机识别结果确定为机器操作。
7.如权利要求6所述的服务端,其特征在于,所述代码生成单元具体包括:
算法确定子单元,用于在预设的随机算法库中抽取任一随机算法作为目标随机算法;
随机函数生成子单元,用于调用所述目标随机算法生成函数名、变量名均随机的随机函数,作为所述待执行代码段;
所述数据发送单元具体用于,将所述随机函数生成子单元得到的待执行代码段放入HTTP响应体的随机位置,发送至客户端。
8.如权利要求6所述服务端,其特征在于,所述服务端还包括:
代码加强单元,用于在所述代码生成单元生成的待执行代码段中加入延时算法和/或客户端的信息指纹。
9.一种客户端,其特征在于,所述客户端包括:
连接建立单元,用于向服务端发送操作请求,并与所述服务端建立连接;
数据接收单元,用于接收所述服务端发送的待执行代码段,
代码执行单元,用于执行所述数据接收单元接收的待执行代码段,得到执行结果;
执行结果发送单元,用于将所述代码执行单元得到的执行结果发送至服务端,以便于所述服务端基于所述执行结果进行人机识别。
10.如权利要求9所述的客户端,其特征在于,所述客户端还包括:
代码保存单元,用于将所述数据接收单元接收的待执行代码段保存于随机位置;
所述代码执行单元,具体用于,在由所述代码保存单元确定的随机位置上执行所述待执行代码段,得到执行结果。
11.一种人机识别系统,其特征在于,所述人机识别系统包括如权利要求6至8任一项所述的服务端和与所述服务端连接的如权利要求9至10任一项所述的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710010478.6A CN107241306B (zh) | 2017-01-06 | 2017-01-06 | 一种人机识别方法、服务端、客户端及人机识别系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710010478.6A CN107241306B (zh) | 2017-01-06 | 2017-01-06 | 一种人机识别方法、服务端、客户端及人机识别系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241306A true CN107241306A (zh) | 2017-10-10 |
CN107241306B CN107241306B (zh) | 2020-11-06 |
Family
ID=59983748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710010478.6A Active CN107241306B (zh) | 2017-01-06 | 2017-01-06 | 一种人机识别方法、服务端、客户端及人机识别系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107241306B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810019A (zh) * | 2018-07-13 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 拒绝服务攻击防御方法、装置、设备和存储介质 |
CN108958738A (zh) * | 2018-08-01 | 2018-12-07 | 深圳市雷赛控制技术有限公司 | Plc控制的梯级代码编译方法及装置 |
CN109618100A (zh) * | 2019-01-15 | 2019-04-12 | 北京旷视科技有限公司 | 现场拍摄图像的判断方法、装置及系统 |
CN110120933A (zh) * | 2018-02-07 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 风控、人机识别与数据处理方法、设备及系统 |
CN111478903A (zh) * | 2020-04-07 | 2020-07-31 | 浙江同花顺智能科技有限公司 | 一种基于客户端的验证方法、服务器及存储介质 |
CN115643021A (zh) * | 2022-09-28 | 2023-01-24 | 深圳市财富趋势科技股份有限公司 | 基于动态编码的终端防护方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621520A (zh) * | 2008-06-30 | 2010-01-06 | 英特尔公司 | 用于多方验证的基于平台的可信性验证服务的方法和系统 |
CN103139138A (zh) * | 2011-11-22 | 2013-06-05 | 飞塔公司 | 一种基于客户端检测的应用层拒绝服务防护方法及系统 |
CN103390124A (zh) * | 2012-05-08 | 2013-11-13 | 迪斯克雷蒂克斯科技公司 | 安全输入和处理口令的设备、系统和方法 |
CN103888490A (zh) * | 2012-12-20 | 2014-06-25 | 上海天泰网络技术有限公司 | 一种全自动的web客户端人机识别的方法 |
CN103929498A (zh) * | 2014-05-05 | 2014-07-16 | 北京京东尚科信息技术有限公司 | 处理客户端请求的方法和装置 |
CN103997494A (zh) * | 2014-05-22 | 2014-08-20 | 北京京东尚科信息技术有限公司 | 一种抵御黑客攻击的方法和系统 |
CN104025106A (zh) * | 2012-01-06 | 2014-09-03 | 卡皮公司 | 验证码提供方法和程序 |
CN104348617A (zh) * | 2013-07-26 | 2015-02-11 | 中兴通讯股份有限公司 | 验证码处理方法、装置、终端及服务器 |
-
2017
- 2017-01-06 CN CN201710010478.6A patent/CN107241306B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621520A (zh) * | 2008-06-30 | 2010-01-06 | 英特尔公司 | 用于多方验证的基于平台的可信性验证服务的方法和系统 |
CN103139138A (zh) * | 2011-11-22 | 2013-06-05 | 飞塔公司 | 一种基于客户端检测的应用层拒绝服务防护方法及系统 |
CN104025106A (zh) * | 2012-01-06 | 2014-09-03 | 卡皮公司 | 验证码提供方法和程序 |
CN103390124A (zh) * | 2012-05-08 | 2013-11-13 | 迪斯克雷蒂克斯科技公司 | 安全输入和处理口令的设备、系统和方法 |
CN103888490A (zh) * | 2012-12-20 | 2014-06-25 | 上海天泰网络技术有限公司 | 一种全自动的web客户端人机识别的方法 |
CN104348617A (zh) * | 2013-07-26 | 2015-02-11 | 中兴通讯股份有限公司 | 验证码处理方法、装置、终端及服务器 |
CN103929498A (zh) * | 2014-05-05 | 2014-07-16 | 北京京东尚科信息技术有限公司 | 处理客户端请求的方法和装置 |
CN103997494A (zh) * | 2014-05-22 | 2014-08-20 | 北京京东尚科信息技术有限公司 | 一种抵御黑客攻击的方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120933A (zh) * | 2018-02-07 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 风控、人机识别与数据处理方法、设备及系统 |
CN108810019A (zh) * | 2018-07-13 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 拒绝服务攻击防御方法、装置、设备和存储介质 |
CN108958738A (zh) * | 2018-08-01 | 2018-12-07 | 深圳市雷赛控制技术有限公司 | Plc控制的梯级代码编译方法及装置 |
CN108958738B (zh) * | 2018-08-01 | 2022-03-11 | 深圳市雷赛控制技术有限公司 | Plc控制的梯级代码编译方法及装置 |
CN109618100A (zh) * | 2019-01-15 | 2019-04-12 | 北京旷视科技有限公司 | 现场拍摄图像的判断方法、装置及系统 |
CN109618100B (zh) * | 2019-01-15 | 2020-11-27 | 北京旷视科技有限公司 | 现场拍摄图像的判断方法、装置及系统 |
CN111478903A (zh) * | 2020-04-07 | 2020-07-31 | 浙江同花顺智能科技有限公司 | 一种基于客户端的验证方法、服务器及存储介质 |
CN115643021A (zh) * | 2022-09-28 | 2023-01-24 | 深圳市财富趋势科技股份有限公司 | 基于动态编码的终端防护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107241306B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241306A (zh) | 一种人机识别方法、服务端、客户端及人机识别系统 | |
US11706218B2 (en) | Systems and methods for controlling sign-on to web applications | |
CN102480490B (zh) | 一种用于防止csrf攻击的方法和设备 | |
CN104144419B (zh) | 一种身份验证的方法、装置及系统 | |
CA2641995C (en) | System and method for network-based fraud and authentication services | |
US9369480B2 (en) | Systems and methods for automating blind detection of computational vulnerabilities | |
US10778680B2 (en) | Method and apparatus for accessing website | |
US7886346B2 (en) | Flexible and adjustable authentication in cyberspace | |
CN102685081B (zh) | 一种网页请求安全处理方法及系统 | |
CN105323253B (zh) | 一种身份验证方法及装置 | |
US9218601B2 (en) | Secure in-line payments for rich internet applications | |
WO2020259389A1 (zh) | 一种csrf漏洞的检测方法及装置 | |
CN108696490A (zh) | 账号权限的识别方法及装置 | |
CN103647652B (zh) | 一种实现数据传输的方法、装置和服务器 | |
CN109842616B (zh) | 账号绑定方法、装置及服务器 | |
CN105141605A (zh) | 会话方法、网站服务器及浏览器 | |
CN104580112A (zh) | 一种业务认证方法、系统及服务器 | |
CN103444215A (zh) | 用于避免网络攻击的危害的方法和装置 | |
CN115022047B (zh) | 基于多云网关的账户登录方法、装置、计算机设备及介质 | |
CN109428893A (zh) | 一种身份认证方法、装置及系统 | |
CA2844888A1 (en) | System and method of extending a host website | |
CN107294917A (zh) | 一种信任登录方法和装置 | |
US7020705B2 (en) | De-authenticating in security environments only providing authentication | |
CN107294920B (zh) | 一种反向信任登录方法和装置 | |
CN114938313A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |