首先,创建一个名为captcha.php的文件,用于生成验证码。在这个文件中,你可以使用以下代码。

<?php session_start(); // 启动会话 // 生成随机验证码 $random_number = rand(1000, 9999); // 生成一个四位数随机验证码 $_SESSION[’captcha’] = $random_number; // 将验证码保存到会话中 // 创建验证码图片 $image = imagecreatetruecolor(100, 30); // 创建空白图片 $background_color = imagecolorallocate($image, 255, 255, 255); // 设置背景颜色为白色 $text_color = imagecolorallocate($image, 0, 0, 0); // 设置文本颜色为黑色 imagefilledrectangle($image, 0, 0, 99, 29, $background_color); // 画一个矩形作为背景框 imagettftext($image, 14, 0, 5, 18, $text_color, ’path/to/font.ttf’, $random_number); // 在图片上写入验证码文字,使用TrueType字体文件路径替换’path/to/font.ttf’ header(’Content-type: image/png’); // 设置输出图像类型为PNG格式 imagepng($image); // 输出图像到浏览器 imagedestroy($image); // 销毁图像资源 ?>
在登录页面的表单中包含一个用于输入验证码的字段和一个用于显示验证码的图像,假设你的登录页面名为login.php,你可以使用以下代码:
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login_process.php" method="post">
<label for="username">用户名:</label>
<input type="text" name="username" id="username" required><br><br>
<label for="password">密码:</label>
<input type="password" name="password" id="password" required><br><br>
<!-- 显示验证码图像 -->
<label for="captcha">验证码:</label>
<img src="captcha.php" alt="验证码"><br>
<!-- 输入验证码 -->
<input type="text" name="captcha_input" id="captcha_input" required><br><br>
<input type="submit" value="登录">
</form>
</body>
</html>在登录处理页面(例如login_process.php)中验证用户输入的验证码是否与会话中保存的验证码匹配。

<?php
session_start(); // 启动会话以获取保存的验证码值
$user_captcha = $_POST[’captcha_input’]; // 获取用户输入的验证码值
if ($user_captcha == $_SESSION[’captcha’]) { // 如果用户输入的验证码与保存的验证码匹配,则登录成功处理逻辑... } else { // 如果不匹配,则显示错误消息或重新验证... } ?>```这是一个简单的示例代码,你可以根据自己的需求进行修改和扩展,为了增强安全性,你可能还需要采取其他措施来防止恶意用户绕过验证码验证机制。
TIME
