为了网站安全,现在很多网站都在用户登录后台时添加了一个验证码验证,只有通过了验证码这一关,而后才进行用户验证。如百度、新浪、淘宝。当然,验证码的样式是各式各样的,有的用纯数字,有的用中文,有的图片。在安全系数上,图片形式的验证码会更高一些。那么WordPress登录图片验证码如何通过php实现?我们要实现的效果是:我们…

为了网站安全,现在很多网站都在用户登录后台时添加了一个验证码验证,只有通过了验证码这一关,而后才进行用户验证。如百度、新浪、淘宝。当然,验证码的样式是各式各样的,有的用纯数字,有的用中文,有的图片。在安全系数上,图片形式的验证码会更高一些。那么WordPress登录图片验证码如何通过php实现?

我们要实现的效果是:我们每点击一下图片中的验证码,图片中的验证码会不断地更换,而且,图片中的干扰线也会不断地更换,这样就可以让盗号软件更加难以识别。

WordPress登录图片验证码如何通过php实现?

在你的wordpress主题的登录页面上添加如下代码:

输入验证码:<input type=”text”><img src=”checkcode.php” onclick=”this.src=’checkcode.php?code=’+Math.random()”>

然后,再创建一个 checkcode.php 文件,这个文件就是验证码生成文件,代码如下:

//创建一个验证码$checkcode=””;for($i=0; $i<4; $i++){$checkcode.=dechex(rand(1,15));}

//创建一个图片$im = imagecreatetruecolor(130,30);//创建画布$red = imagecolorallocate($im,255,255,255); //创建字体颜色

//绘制干扰线for($i=1; $i<20; $i++){imagearc($im,rand(0,100),rand(0,20),rand(0,100),rand(0,20),rand(180,360),rand(0,180),imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)));}//把数字验证码转换成图片imagestring($im,rand(1,5),rand(0,100),rand(0,20),$checkcode,$red);

//输出图片header(“content-type:image/jpg&#8221😉;imagejpeg($im);

//关闭资源imagedestroy($im);

上面代码中,绘制干扰线下的 for代码,会随机绘制20条弧线,并且大小、位置、弧度、颜色都是随机产生,每点击一次就会更换一次,这就增加了软件识别的难度。“//把数字验证码转换成图片”下面的代码也是随机的,并且每点击一次,验证码的位置和大小都会变化。

通过上面的代码,我们就简单地实现了登录验证码,如果你的wordpress登录也想用验证码技术,可以试一下这段验证码,如果想达到验证效果,如:只有验证码正确,才再去验证用户名和密码,这时,我们就只需要在上面的代码中添加session来保存这个验证码,然后再把你输入的验证码与session里保存的验证码一对比,就可以了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。