《PHP实例:php实现汉字验证码和算式验证码的方法》要点:
本文介绍了PHP实例:php实现汉字验证码和算式验证码的方法,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了php实现汉字验证码和算式验证码的办法.分享给大家供大家参考.具体分析如下:PHP编程
年夜家知道简单数字或者字母验证码很容易被破解,但是算式验证码或者中文汉字验证码不容易被破解,
所以建议年夜家在使用验证码的时候,尽量用算式验证码或者中文汉字验证码.
下面是我写的两种验证码代码,有用到的朋友可以参考下:PHP编程
1.算式验证码:
PHP编程
代码如下:
<?php
session_start();
header("Content-type: image/png");
$num1 = mt_rand(0,9);//第一位数
$num2 = mt_rand(1,9);//第二位数
$type_str = "+-*";//办法字符串集合
$type = substr($type_str,rand(0,2),1);//随机办法
$change = mt_rand(1,3);
if($change==1){
$code = "$num1$type$num2=?";
$result = "\$verifyCode=$num1$type$num2;";
eval($result);
$_SESSION['authnum_session'] = $verifyCode;
}elseif($change==2){
$result = "\$verifyCode=$num1$type$num2;";
eval($result);
$code = $num1.$type."_=".$verifyCode;
$_SESSION['authnum_session'] = $num2;
}elseif($change==3){
$result = "\$verifyCode=$num1$type$num2;";
eval($result);
$code = "_".$type.$num2."=".$verifyCode;
$_SESSION['authnum_session'] = $num1;
}
$im = imagecreate(68,28);
$black = imagecolorallocate($im, 0,0,0);
$white = imagecolorallocate($im, 255,255,255);
$gray = imagecolorallocate($im, 200,200,200);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im,0,0,$white);
imagestring($im, 5, 10, 8, $code, $black);
for($i=0;$i<70;$i++) {
imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $black);
imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $red);
imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $gray);
}
imagepng($im);
imagedestroy($im);
?>
2.中文汉字验证码:PHP编程
代码以下:
《PHP实例:php实现汉字验证码和算式验证码的方法》是否对您有启发,欢迎查看更多与《PHP实例:php实现汉字验证码和算式验证码的方法》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/11856.html