一种识别验证码作弊程序的方法与流程

文档序号:12272049阅读:645来源:国知局
一种识别验证码作弊程序的方法与流程

本发明涉及网站开发技术领域,具体涉及一种识别验证码作弊程序的方法。



背景技术:

目前验证码作为识别真实用户和程序作弊破解的一种手段,正被大量使用。但有的验证码为了防止被程序识别破解,使字符严重变形,互相重叠,以至于真实用户都难以识别。



技术实现要素:

本发明解决的技术问题在于提供一种识别验证码作弊程序的方法,解决了验证码难以被真实用户识别,容易被程序作弊破解,能够识别作弊程序的问题。

本发明解决上述技术问题的技术方案是:

所述的方法是先生成带有深浅两组颜色字符的验证码,并通过css和Javascript使用滤镜翻转验证码字符颜色,进而欺骗验证码作弊程序,识别出验证码作弊程序。

所述的方法具体包含以下几个步骤:

步骤一、生成两组各不相同的,包含随机数字和字母的字符,定义为字符串A和字符串B;

步骤二、创建一个背景色为白色的图片,在图片上写入字符串A和字符串B,字符串A使用很明显的深颜色,字符串B使用暗淡的颜色;

步骤三、将字符串A和字符串B保存在服务器;

步骤四、将图片输出,显示在页面中,作为验证码使用;

步骤五、通过css和Javascript,在验证码上面加一个滤镜层,使验证码的字符颜色反转,使深颜色变成淡颜色,淡颜色变成深颜色;

步骤六、判断用户输入的验证码,如果等于字符串A,则判断为作弊破解程序。

本发明的有益效果:欺骗验证码作弊破解程序而不影响真实用户,并且能判断哪些信息是验证码作弊破解程序输入的,从而达到验证码防作弊,识别作弊程序的目的。

附图说明

下面结合附图对本发明进一步说明:

图1为本发明的方法流程图。

图2为生成的验证码图片。

图3为加滤镜后的验证码图片。

具体实施方式

如图1所示,本发明采用如下步骤:

步骤一、生成两组各不相同的,包含随机数字和字母的字符,每组字符串长度大于等于4,定义为字符串A和字符串B;

步步骤二、创建一个背景色为白色的图片,在图片上写入步骤一得到的字符串A和字符串B,字符串A使用很明显的深颜色,如深红色、深棕色,字符串B使用在白色背景色下肉眼不容易察觉的暗淡颜色,如淡灰色、淡黄色;

步骤三、将步骤一得到的字符串A和字符串B保存在服务器,跟当前用户对应起来,如存放在session中;

步骤四、将图片作适当的扭曲、加斑点等操作,然后作为图片输出,显示在页面中,作为验证码使用;此时的验证码如图2所示。

步骤五、通过css和Javascript,获取验证码图片的坐标和大小,根据坐标和大小,在验证码上面加一个大小跟验证码大小相同的滤镜层,刚好完全覆盖验证码图片。该滤镜层使验证码的字符颜色反转,使深颜色变成淡颜色,淡颜色变成深颜色。加过滤镜后的验证码如图3所示。通过该操作,呈现在真实用户眼前的是颜色非常明显的B字符串,A字符串此时颜色非常暗淡,不易察觉。而作弊程序因为只直接读取验证码,没有滤镜层效果,所以识别出来的是原本深颜色的字符串A,字符串B因为颜色暗淡被过滤掉了;

步骤六、判断用户输入的验证码,如果等于字符串B,则为真实用户的正确输入。如果等于字符串A,则可以判断为作弊破解程序,可以对该IP地址或用户进行封禁处理。如果不等于字符串A且不等于字符串B,则判断为输入错误,重新生成新的验证码图片显示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1