本发明属于计算机信息领域,具体涉及一种为网站和应用区分机器和人类访问的系统和方法。
背景技术:
目前大多数网站和应用程序后台的信息都在被机器人爬虫访问和提取,一些敏感的高价值的数据需要保证只能给真人低频率的受限的访问,但是如何区分访问是人类访问还是机器人爬虫访问,成为一个急需解决的问题。
针对上述问题,目前大都使用验证码来区分,但是目前的验证码都是比较初级的字母、数字或者汉字,很容易用ocr、深度学习破解。同时,汉字等复杂字符、杂点、干扰线的引入也让真人无法识别并正确输入,乃至放弃使用,降低了系统的转化率。
技术实现要素:
发明目的:本发明针对上述现有技术存在的问题做出改进,即本发明的第一个目的在于公开一种为网站和应用区分机器和人类访问的系统。本发明的第二个目的在于一种为网站和应用区分机器和人类访问的方法。
技术方案:一种为网站和应用区分机器和人类访问的系统,包括:
验证码生成模块,根据预设的难度和保护等级生成对应的验证码图片和/或文字,并将验证码图片和/或文字的节点信息存储于预设位置;
验证码显示模块,在终端屏幕上显示验证码图片和/或文字;
光标运动轨迹收集模块,接收用户在终端屏幕上输入的光标运动轨迹信息;
光标运动轨迹分析模块,根据光标运动轨迹信息的准确度及行为特征区分访问类型;
光标运动轨迹存储模块,对光标运动轨迹信息进行存储,其中:
光标运动轨迹分析模块包含:
准确度判断模块,将光标运动轨迹信息与验证码图片和/或文字的节点信息进行匹配,并生成匹配准确率;
第一比较模块,将生成的匹配准确率与第一阈值相比较,当生成的匹配准确率小于第一阈值时,判断为机器访问;当生成的匹配准确率不小于第一阈值时,对光标运动轨迹信息的行为特征进行分析;
行为特征分析模块,对光标运动轨迹信息的行为特征进行分析,判断光标运动轨迹信息是否符合人类操作特征,若符合,判断为人类访问,若不符合,判断为机器访问。
进一步地,所述终端屏幕包括个人电脑显示器屏幕、平板电脑显示器屏幕和智能手机屏幕。
进一步地,光标运行轨迹信息包括光标拖放轨迹信息、光标点选轨迹信息、光标简笔画轨迹信息。
进一步地,存储在光标运动轨迹存储模块中的光标运动轨迹信息会进一步地导入行为特征分析模块中,进行聚类和特征分析,以更新特征分析模块中的分析算法模型。
一种为网站和应用区分机器和人类访问的方法,包括以下步骤
(1)、根据预设的难度和保护等级生成对应的验证码图片和/或文字,,并将验证码图片和/或文字的节点信息存储于预设位置,然后进入步骤(2);
(2)、在终端屏幕上显示验证码图片和/或文字,进入步骤(3);
(3)、接收用户在终端屏幕上输入的光标运行轨迹信息,进入步骤(4);
(4)、根据光标运动轨迹信息的准确度及行为特征区分访问类型,然后进入步骤(5);
(5)、对光标运动轨迹信息进行存储,其中,步骤(4)包括:
(41)、将光标运动轨迹信息与验证码图片和/或文字的节点信息进行匹配,并生成匹配准确率,然后进入步骤(42);
(42)、将生成的匹配准确率与第一阈值相比较,当生成的匹配准确率小于第一阈值时,判断为机器访问;当生成的匹配准确率不小于第一阈值时,进入步骤(42);
(43)对光标运动轨迹信息的行为特征进行分析,判断光标运动轨迹信息是否符合人类操作特征,若符合,判断为人类访问,若不符合,判断为机器访问。
进一步地,所述终端屏幕包括个人电脑显示器屏幕、平板电脑显示器屏幕和智能手机屏幕。
进一步地,光标运行轨迹信息包括光标拖放轨迹信息、光标点选轨迹信息、光标简笔画轨迹信息。
有益效果:本发明公开的一种为网站和应用区分机器和人类访问的系统及方法具有以下有益效果:
1、与传统的方法相比,本发明生成的验证码比较利于人类识别而机器不易识别;
2、不用文字框输入可以避免直接用第三方打码工具的结果直接输入,有效防止作弊;
3、单方面只是答案正确不够的,采样的光标轨迹会进行聚类分析判断是否符合人类特征;
4、避免了之前的验证码输入需要输入复杂的汉子或符号而计算机或手机没有响应的字库或输入法带来的各种不便。
具体实施方式:
下面对本发明的具体实施方式详细说明。
一种为网站和应用区分机器和人类访问的系统,包括:
验证码生成模块,根据预设的难度和保护等级生成对应的验证码图片和/或文字,并将验证码图片和/或文字的节点信息存储于预设位置;
验证码显示模块,在终端屏幕上显示验证码图片和/或文字;
光标运动轨迹收集模块,接收用户在终端屏幕上输入的光标运动轨迹信息;
光标运动轨迹分析模块,根据光标运动轨迹信息的准确度及行为特征区分访问类型;
光标运动轨迹存储模块,对光标运动轨迹信息进行存储,其中:
光标运动轨迹分析模块包含:
准确度判断模块,将光标运动轨迹信息与验证码图片和/或文字的节点信息进行匹配,并生成匹配准确率;
第一比较模块,将生成的匹配准确率与第一阈值相比较,当生成的匹配准确率小于第一阈值时,判断为机器访问;当生成的匹配准确率不小于第一阈值时,对光标运动轨迹信息的行为特征进行分析;
行为特征分析模块,对光标运动轨迹信息的行为特征进行分析,判断光标运动轨迹信息是否符合人类操作特征,若符合,判断为人类访问,若不符合,判断为机器访问。
进一步地,所述终端屏幕包括个人电脑显示器屏幕、平板电脑显示器屏幕和智能手机屏幕。
进一步地,光标运行轨迹信息包括光标拖放轨迹信息、光标点选轨迹信息、光标简笔画轨迹信息。
进一步地,存储在光标运动轨迹存储模块中的光标运动轨迹信息会进一步地导入行为特征分析模块中,进行聚类和特征分析,以更新特征分析模块中的分析算法模型。
一种为网站和应用区分机器和人类访问的方法,包括以下步骤
(1)、根据预设的难度和保护等级生成对应的验证码图片和/或文字,,并将验证码图片和/或文字的节点信息存储于预设位置,然后进入步骤(2);
(2)、在终端屏幕上显示验证码图片和/或文字,进入步骤(3);
(3)、接收用户在终端屏幕上输入的光标运行轨迹信息,进入步骤(4);
(4)、根据光标运动轨迹信息的准确度及行为特征区分访问类型,然后进入步骤(5);
(5)、对光标运动轨迹信息进行存储,其中,步骤(4)包括:
(41)、将光标运动轨迹信息与验证码图片和/或文字的节点信息进行匹配,并生成匹配准确率,然后进入步骤(42);
(42)、将生成的匹配准确率与第一阈值相比较,当生成的匹配准确率小于第一阈值时,判断为机器访问;当生成的匹配准确率不小于第一阈值时,进入步骤(42);
(43)对光标运动轨迹信息的行为特征进行分析,判断光标运动轨迹信息是否符合人类操作特征,若符合,判断为人类访问,若不符合,判断为机器访问。
进一步地,所述终端屏幕包括个人电脑显示器屏幕、平板电脑显示器屏幕和智能手机屏幕。
进一步地,光标运行轨迹信息包括光标拖放轨迹信息、光标点选轨迹信息、光标简笔画轨迹信息。
上面对本发明的实施方式做了详细说明。但是本发明并不限于上述实施方式,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。