安装配置PHP验证码需先确保PHP版本≥5.6、启用GD库并支持session;创建captcha.php生成含随机4位数的图像,存储至session;在表单中嵌入验证码图片与输入框,并通过check.php比对输入与session值,一致则通过验证,随后清除session以增强安全。
安装和配置PHP图像验证码(CAPTCHA)是防止机器人自动提交表单的重要手段。通过生成随机的图形验证码,可以有效识别并阻挡自动化脚本。以下是完整的验证码生成与防机器人配置方法。
1. 环境要求与基础准备
在开始前,请确保服务器满足以下条件:
- PHP版本 ≥ 5.6(推荐7.0以上)
- 启用GD库扩展(用于图像处理)
- 支持session(用于保存验证码值)
检查GD库是否启用,可通过创建一个phpinfo()页面查看。若未开启,在php.ini中取消注释:
extension=gd,然后重启Web服务。
2. 创建验证码生成脚本
新建一个名为captcha.php的文件,用于生成图像验证码:
代码示例:
mage = imagecreate($width, $height);
$bgColor = imagecolorallocate($image, 220, 220, 220); // 背景色
$textColor = imagecolorallocate($image, 0, 0, 0); // 文字颜色
// 生成随机验证码文本(4位数字)
$captchaText = rand(1000, 9999);
// 将验证码存入session
$_SESSION['captcha'] = $captchaText;
// 添加干扰点
for ($i = 0; $i < 50; $i++) {
$dotColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
imagesetpixel($image, rand(0, $width), rand(0, $height), $dotColor);
}
// 写入验证码文字(可选:使用字体文件提升安全性)
imagestring($image, 5, 40, 12, $captchaText, $textColor);
// 输出图像
header("Content-type: image/png");
imagepng($image);
// 释放内存
imagedestroy($image);
?>
将此文件部署到网站目录,访问它将显示一张包含4位数字的图片。
3. 在表单中集成验证码
在登录或注册表单中嵌入验证码图片和输入框:
<html>
