WordPress登录实现彩色验证码功能方法

可以让用户登录时,先要通过验证码,然后再验证帐号和密码,这样有效提高了登录之安全性。但是,有些美中不足,验证码…

可以让用户登录时,先要通过验证码,然后再验证帐号和密码,这样有效提高了登录之安全性。但是,有些美中不足,验证码字体太小、字体样式太呆板、字体颜色单一。今天小编就分享一个wordpress登录实现彩色验证码功能方法。

wordpress登录实现彩色验证码功能方法 (https://www.yunsxr.com/) WordPress开发教程 第1张

下面就是这个验证码的详细代码,这里提供的是一个验证码函数,你只需要调用一下就可以 了:

/* 验证码函数

函数参数:

1 $num 验证码个数,

2 $type 字符类型,0为数字,1为数字+小写字母,2为数字+大小写字母

3 $height 图片高

4 $size 字体大小

5 $radian1 字体随机弧度起始位

6 $radian2 字体随机弧度结束位

7 $y 验证码垂直位置

*/

function image_check_code($num=4,$type=0,$height=30,$size=16,$radian1=-40,$radian2=40,$y=20){

//1、随机验证码 //$num 是多少个; $type 是类型,0为数字,1为数字+小写字母,2为数字+大小写字母

$str=”0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”; //定义验证码可选范

$arr=array(9,35,strlen($str)-1);

$string=””;

for($i=0; $i<$num;$i++){

$string.=$str[rand(0,$arr[$type])];

}

//2、创建画布,即图片源,以及背景颜色和字体颜色

$width=$num*($size+2);

$im=imagecreatetruecolor($width,$height);

$bg=imagecolorallocate($im,200,200,200);

$color[]=imagecolorallocate($im,128,35,4);

$color[]=imagecolorallocate($im,45,128,4);

$color[]=imagecolorallocate($im,131,131,250);

$color[]=imagecolorallocate($im,166,9,174);

$color[]=imagecolorallocate($im,173,163,37);

$color[]=imagecolorallocate($im,30,115,121);

$color[]=imagecolorallocate($im,0,128,128);

$color[]=imagecolorallocate($im,128,128,0);

imagefill($im,0,0,$bg); //设置背景色

//3、创建干扰线

for($i=1; $i<200; $i++){ //添加 点

$line_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); //随机色

imagesetpixel($im,rand(0,$width),rand(0,$height),$line_color);

}

for($i=1; $i<10; $i++){ //添加 弧线

$line_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); //随机色

imagearc($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),rand(0,100),rand(0,360),$line_color);

}

//4、转换验证码 到图片

for($i=0; $i<$num; $i++){

//imagettftext 参数1是图片源,2是字体大小,3是弧形度,4是水平位置,5是垂直位置,6是字颜色,7是字体,8是验证码字符串

imagettftext($im,$size,rand($radian1,$radian2),6+($i*$size),$y-10,$color[rand(0,7)],”msyhbd.ttf”,$string[$i]);

}

//5、输出图片

header(“content-type:image/png”);

imagepng($im);

//释放资源内存

imagedestroy($im);

}

我们只需要在需要验证码的地方调用它就可以了。如:

image_check_code(4,2,60,36,-40,40,60);

这个函数有7个代码,参数1 是验证码个数;参数2 是字符类型,0为数字,1为数字+小写字母,2为数字+大小写字母;参数3 是 图片高;参数4是字体大小;参数5是字体随机弧度起始位;参数6 是字体随机弧度结束位;参数7 是验证码垂直位置。我们可以根据自己的需要来修改这几个参数,就可以显示出不同的效果来。

类别:WordPress技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT