PHP生成加减算法方式的验证码实例
这是在网上找的一个demo,我加入了一部分代码。可以使用。
这里需要说明一下,我们调用这个验证码类应该在一个单独的控制器方法中使用。
生成的图片的算法是用代码生成的,然后把计算值存入session中。
验证的时候是获取用户的输入值,然后取出服务端的值进行对比
$secondNum?'-':'+'; //获取第1个随机文字 $imstr[0]["s"]=$firstNum; $imstr[0]["x"]=rand(2,5); $imstr[0]["y"]=rand(1,4); //获取第2个随机文字 $imstr[1]["s"]=$actionStr; $imstr[1]["x"]=$imstr[0]["x"]+$font_size-1+rand(0,1); $imstr[1]["y"]=rand(1,5); //获取第3个随机文字 $imstr[2]["s"]=$secondNum; $imstr[2]["x"]=$imstr[1]["x"]+$font_size-1+rand(0,1); $imstr[2]["y"]=rand(1,5); //获取第3个随机文字 $imstr[3]["s"]='='; $imstr[3]["x"]=$imstr[2]["x"]+$font_size-1+rand(0,1); $imstr[3]["y"]=3; //获取第3个随机文字 $imstr[4]["s"]='?'; $imstr[4]["x"]=$imstr[3]["x"]+$font_size-1+rand(0,1); $imstr[4]["y"]=3; //文字 $text=''; //写入随机字串 for($i=0;$i<5;$i++){ //获取随机较深颜色 $text_color=imagecolorallocate($im,rand(50,180),rand(50,180),rand(50,180)); $text.=$imstr[$i]["s"]; //画文字 imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color); } session_start(); $_SESSION[$prefix.'verifycode']=$firstNum>$secondNum?($firstNum-$secondNum):($firstNum+$secondNum); //显示图片 ImagePng($im); //销毁图片 ImageDestroy($im); } publicstaticfunctioncheck($code) { if(trim($_SESSION[$prefix.'verifycode'])==trim($code)){ returntrue; }else{ returnfalse; } } }
以上这篇PHP生成加减算法方式的验证码实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。