动态验证码(Dynamic Verification Code)是一种安全机制,用于验证用户身份或防止自动化程序(如机器人)进行恶意操作。它通常是一段随机生成的字符或数字,显示在网页上,并在一定时间后失效。
以下是一个简单的PHP图像验证码实现示例:
<?php
session_start();
// 生成随机验证码
$code = substr(md5(uniqid(rand(), true)), 0, 6);
$_SESSION['captcha'] = $code;
// 创建图像
$image = imagecreatetruecolor(100, 30);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, 100, 30, $bgColor);
imagettftext($image, 20, 0, 10, 20, $textColor, 'arial.ttf', $code);
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
在用户提交表单时,验证输入的验证码是否正确:
<?php
session_start();
if (isset($_POST['captcha']) && $_POST['captcha'] === $_SESSION['captcha']) {
echo "验证码正确";
} else {
echo "验证码错误";
}
?>
通过以上步骤,你可以实现一个简单的PHP动态验证码系统。如果需要更高的安全性,可以考虑使用第三方验证码服务。
领取专属 10元无门槛券
手把手带您无忧上云