在网站开发中,图文验证码是一种常见的验证方式,用于防止恶意用户通过自动化工具进行注册、登录等操作。以下是一个使用PHP实现的图文验证码生成与验证的实例。
1. 生成验证码图片
我们需要生成一个随机的验证码字符串,然后将其绘制到图片上。

```php
// 设置验证码图片的宽度和高度
$width = 100;
$height = 30;
// 创建画布
$image = imagecreatetruecolor($width, $height);
// 设置背景颜色
$background_color = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $width, $height, $background_color);
// 设置文字颜色
$text_color = imagecolorallocate($image, 0, 0, 0);
// 生成验证码字符串
$code = '';
for ($i = 0; $i < 4; $i++) {
$code .= chr(rand(65, 90)); // 大写字母
}
session_start();
$_SESSION['code'] = $code;
// 将验证码字符串绘制到图片上
$font_file = './font.ttf'; // 字体文件路径
imagettftext($image, 18, 0, 5, 25, $text_color, $font_file, $code);
// 输出验证码图片
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
>
```
2. 验证用户输入的验证码
用户输入验证码后,我们需要验证其是否正确。
```php
// 获取用户输入的验证码
$user_code = $_POST['code'];
// 获取session中的验证码
$session_code = $_SESSION['code'];
// 验证验证码是否正确
if ($user_code == $session_code) {
echo "



