吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 908|回复: 4
收起左侧

[求助] php验证码实例求解

[复制链接]
hs14266 发表于 2021-12-4 20:14
代码如下,怎么样才算成功呢,后续修改
[PHP] 纯文本查看 复制代码
<?php
require "Captcha.class.php";
$captcha=new Captcha();
$captcha->generate(70,22,5);
?>
[PHP] 纯文本查看 复制代码
<?php
 class Captcha{
	 public function generate($img_w=100,$img_h=25,$char_len=4,$font=5){
		 $char =array_merge(range('A','Z'),range('a','z'),range(1,9));
		 $rand_keys=array_rand($char,$char_len);
		 if($char_len==1){
			 $rand_keys=array($rand_keys);
		 }
		 shuffle($rand_keys);
		 $code='';
		 foreach($rand_keys as $key){
			 $code .=$char[$key];
		 }
		 @session_start();
		 $_SESSION['captcha_code']=$code;
		 $img=imagecreatetruecolor($img_w,$img_h);
		 $bg_color=imagecolorallocate($img,0xc0,0xc0,0xc0);
		 imagefill($img,0,0,$bg_color);
		 for($i=0;$i<=300;++$i){
			 $color=imagecolorallocate($img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
			 imagesetpixel($img,mt_rand(0,$img_w),mt_rand(0,$img_h),$color);
		 }
		 $rect_color=imagecolorallocate($img,0xff,0xff,0xff);
		 imagerectangle($img,0,0,$img_w-1,$img_h-1,$rect_color);
		 if(mt_rand(1,2)==1){
			 $str_color=imagecolorallocate($img,0,0,0);
		 }else{
			  $str_color=imagecolorallocate($img,0xff,0xff,0xff);
		 }
		 $font_w=imagefontwidth($font);
		 $font_h=imagefontheight($font);
		 $str_w=$font_w*$char_len;
		 imageString($img,$font,($img_w-$str_w)/2,($img_h-$font_h)/2,$code,$str_color);
		 header('Content-Type:image/png');
		 imagepng($img);
		 imagedestroy($img);
	 }
 }

?>
[PHP] 纯文本查看 复制代码
<?php
    header("Content-Type:text/html;charset=utf-8");
    session_start();
    $code=trim($_POST["captcha"]);
    if(strtolower($code)==strtolower($_SESSION['captcha_code'])){
		echo "验证码正确";
		$username=$_POST["username"];
		$password=$_POST["password"];
		if(($username=='itcast') && ($password=='123456')){
			echo '你好'.$username.'登录成功';
		}else{
			echo '用户名或密码错误!';
		}
	}else{
		echo "验证码输入错误";
	}
?>
12-10.PNG
12-9(2).PNG
12-9(1).PNG
12-8.PNG

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

smldhz 发表于 2021-12-4 21:04
文件没问题,可以正常生成显示验证码 所以你具体的问题是什么?
smldhz 发表于 2021-12-4 21:06
如果你的问题是验证码不显示 程序报错 那就去百度一下 “php开启GD” 上个帖子已经回过你了。
fenga6 发表于 2021-12-4 22:14
我觉得计算题验证码是这样的   设置一个9-8  对应正确结果 1,一组对应,一般不用随机出题,判断是否正确
ken931016 发表于 2021-12-6 08:56
没搞懂你现在的问题,是没正常显示还是怎么了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表