当前位置: 首页 > news >正文

PHP验证码生成与测试 - 详解

PHP验证码生成与测试

<?php
session_start();
require_once 'Captcha.php';
$message = '';
$success = false;
// 检查表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST' &&
isset($_POST['captcha'])) {
if (Captcha::validate($_POST['captcha'])) {
$message = '验证码正确!';
$success = true;
} else {
$message = '验证码错误,请重试!';
}
}
?>
<
!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>验证码测试</title><style>body {font-family: Arial, sans-serif;max-width: 500px;margin: 50px auto;padding: 20px;text-align: center;}.captcha-img {margin: 20px 0;border: 1px solid #ddd;cursor: pointer;height: 50px;/* 固定高度避免布局跳动 */}.message {padding: 10px;margin: 10px 0;border-radius: 4px;}.success {background-color: #dff0d8;color: #3c763d;}.error {background-color: #f2dede;color: #a94442;}</style></head><body><h1>验证码测试</h1><?php if ($message): ?><div class="message <?= $success ? 'success' : 'error' ?>"><?= htmlspecialchars($message) ?></div><?php endif;?><form method="POST" action=""><div><!-- 只保留一个验证码图片元素 --><img id="captcha-image" class="captcha-img"src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="alt="验证码" title="点击刷新验证码"></div><div><input type="text" name="captcha" placeholder="请输入验证码" required></div><div><button type="submit">提交验证</button><button type="button" id="refresh-btn">刷新验证码</button></div></form><script>const captchaImage = document.getElementById('captcha-image');const refreshBtn = document.getElementById('refresh-btn');// 获取验证码Base64async function refreshCaptcha() {try {const timestamp = Date.now();const response = await fetch(`generate_captcha.php?t=${timestamp}`);const blob = await response.blob();return new Promise((resolve) =>{const reader = new FileReader();reader.onload = () =>{captchaImage.src = reader.result;};reader.readAsDataURL(blob);});} catch (error) {console.error('刷新验证码失败:', error);}}// 初始加载和点击刷新refreshCaptcha();captchaImage.addEventListener('click', refreshCaptcha);refreshBtn.addEventListener('click', refreshCaptcha);</script></body></html>

在这里插入图片描述
源码资源:https://download.csdn.net/download/weixin_43050480/91998494

http://www.gsyq.cn/news/27627.html

相关文章:

  • vue3修改弹窗的部分值选择后不保存,再次打开表明的是上次选择的值,而不是数据库的值
  • 集合中的贡献法
  • 实用指南:阿里云安装Docker
  • 给大家分享三个特别好用的在线工具,可以为你的工作节省很多时间
  • 2025 年振动筛源头厂家最新推荐榜单:权威甄选实验 / 防爆 / 精细筛分设备,揭秘靠谱供应企业
  • 【题解】洛谷 P4096 [HEOI2013] Eden 的博弈树 | 更简洁的一种做法
  • 茶桌茶台生产厂家口碑榜:TOP3企业综合实力全景解析
  • 【开发问题】GeoServer 跨域问题解决方案
  • 直流电机生产线厂家口碑榜:TOP3企业综合实力全景解析
  • 终于开通博客啦!
  • 工业主板:智慧工业时代的 “硬核大脑”
  • 2025 年冷凝器源头厂家最新推荐榜:优选凸显高真空稳定运行优势,助力企业精准选购平板/片式/方形/搪瓷方形/搪瓷方形平板冷凝器厂家推荐
  • 为什么现在入行 Salesforce 更难了?真相在这里
  • Android 资源适配踩坑记:为什么我的设备匹配不上对应的 `values-wXXXdp-hXXXdp`?
  • Acrobat Pro DC 2025.001.20813绿色版
  • 费用流(直接应用)
  • 深入解析:服务器被攻击了怎么办
  • 2025 年10月深圳市激光雕刻机厂家解析,基于专业技术及市场分析
  • QT实现DockWidget内部组件自动换行布局
  • 2025 蛋白/8秒液体/发膜推荐榜:玛丝兰 5 星领跑,这些修护力出众的品牌值得囤!西安悦己容凭技术实力登顶
  • 2025年知名的雕塑推荐TOP品牌企业 - Di
  • 2025 聚焦重庆标书制作服务品质:重庆睿标通领衔,工程/建筑/市政/物业服务标书制作专业机构推荐​
  • Spring - 教程
  • 2025 年最新推荐!集装箱拖车供应厂家权威榜单重磅发布,全方位解析优质厂家实力助企业选对合作伙伴
  • 实战案例 | 利用山海鲸可视化软件,构建制造业数字孪生监控大屏
  • 【IEEE出版 | 往届4年稳定EI检索 | 高录用、稳定检索】第五届无线通信、网络与物联网国际学术会议(WCNIoT 2025)
  • SS251021B. 箱客思 做题记录 - 邻补角
  • 1.51.0 mm LTCC低通,DC-3.7 GHz,带内插损≤0.6 dB,军工温宽——国产HT-LFCG-3700+(Pin-to-Pin替代LFCG-3700+)
  • Pandas 深入学习【3】材料标准化处理 StandardScaler
  • web预览tif格式文件踩坑