用php写一个拉动的验证码
时间: 2023-09-18 10:15:48 浏览: 48
以下是一个简单的 PHP 验证码实现:
```php
<?php
session_start();
// 生成随机验证码
$code = rand(1000, 9999);
// 存储验证码到 session 中
$_SESSION['code'] = $code;
// 创建一个 100x30 的验证码图片
$im = imagecreatetruecolor(100, 30);
// 设置背景颜色为白色
$bg_color = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $bg_color);
// 绘制验证码文本
$text_color = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 5, 10, 8, $code, $text_color);
// 添加干扰线
$line_color = imagecolorallocate($im, 128, 128, 128);
for ($i = 0; $i < 5; $i++) {
imageline($im, rand(0, 100), rand(0, 30), rand(0, 100), rand(0, 30), $line_color);
}
// 输出图像并销毁
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
```
以上代码会在服务器端生成一个 PNG 图片,包含一个随机的四位数字验证码以及五条干扰线。在前端页面中,可以通过 `<img>` 标签引用该图片,从而达到显示验证码的目的。
需要注意的是,该验证码实现方式比较简单,容易被恶意攻击者攻击。如果需要更高安全性的验证码,可以考虑使用更为复杂的实现方式和算法。