豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: PHP源码算术验证码

🤖 Ai回答:
在 PHP 中实现一个简单的算术验证码(Arithmetic CAPTCHA)功能,可以用于防止机器人提交表单。下面是一个完整的示例,包括生成随机算术表达式、计算结果并验证用户输入。

✅ 功能说明
生成两个随机数字(如 5 和 3)
随机选择运算符(+、-、*)
显示表达式给用户(如 “5 + 3 = ?”)
将正确答案存入 Session
用户提交后比对答案

✅ 完整 PHP 源码

php
<?php
session_start();

// 生成算术验证码
function generateCaptcha() {
$num1 = rand(1, 10);
$num2 = rand(1, 10);
$operators = ['+', '-', '*'];
$operator = $operators[array_rand($operators)];

// 构建表达式并计算结果
switch ($operator) {
case '+':
$result = $num1 + $num2;
break;
case '-':
$result = $num1 $num2;
break;
case '*':
$result = $num1 * $num2;
break;
}

// 存入 Session
$_SESSION['captcha_result'] = $result;
$_SESSION['captcha_time'] = time(); // 可选:设置过期时间

// 返回表达式字符串
return $num1 $operator $num2;
}

// 检查验证码是否正确
function checkCaptcha($userInput) {
// 可选:设置验证码5分钟过期
if (!isset($_SESSION['captcha_time']) time() $_SESSION['captcha_time'] 300) {
return false;
}

if (isset($_SESSION['captcha_result'])) {
$correct = $_SESSION['captcha_result'];
// 清除验证码,防止重复使用
unset($_SESSION['captcha_result']);
unset($_SESSION['captcha_time']);
return $correct == (int)$userInput;
}
return false;
}

// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$userAnswer = $_POST['captcha_answer'] ?? '';
if (checkCaptcha($userAnswer)) {
echo <p style='color: green;'✅ 验证码正确!表单提交成功。</p;
} else {
echo <p style='color: red;'❌ 验证码错误或已过期,请重试。</p;
// 重新生成新验证码
$captchaExpr = generateCaptcha();
}
} else {
// 初始页面加载时生成验证码
$captchaExpr = generateCaptcha();
}
?

<!DOCTYPE html
<html lang=zh
<head
<meta charset=UTF-8
<title算术验证码示例</title
</head
<body
<h2算术验证码测试</h2
<form method=post
<p
<strong请输入以下算式的结果:</strong<br
<span style=font-size: 1.2em; color: blue;<?php echo $captchaExpr; ? = ?</span
</p
<p
<label答案:<input type=number name=captcha_answer required</label
</p
<button type=submit提交</button
</form
</body
</html

✅ 功能特点
使用 `session` 存储正确答案
支持 `+`、`-`、`*` 三种运算
验证码一次有效(提交后清除)
可设置过期时间(如 5 分钟)
简单安全,防止简单爬虫

✅ 安全建议(可选增强)
添加图形化显示(用 GD 库绘制扭曲文字)
增加干扰线/背景噪点(图形验证码)
记录尝试次数,防止暴力破解
结合其他验证方式(如时间限制)

✅ 示例输出
页面显示:

请输入以下算式的结果:
7 + 3 = ?

答案:[输入框]
[提交按钮]

如果你希望升级为图形验证码(图片形式),也可以使用 PHP GD 库绘制,我可以继续提供代码。

需要吗? 😊

Ai作答

📣 商家广告


求名

广告招商

取名

高防vps

香港vps


0

IP地址: 60.63.139.250

搜索次数: 0

提问时间: 2025-11-10 08:09:56

🛒 域名购买
3.ln.cn
s-k.com.cn
67.gs
gwgh.cn
tc.gs
ltkj.net
9.gz.cn
02.gs
ftp.gs
363.net.cn

❓️ 热门提问
永久域名购买
idc工程师
站群系统谷歌惩罚
真正的挂机赚app
ipv4dns服务器
多线程服务器 租
服务器 电源
跳失率广告投放代理
盲板机柜
pip 服务器
豌豆Ai站群搜索引擎系统

🌐 域名评估
qhun.cn
x-i.com.cn
ng.cx
az.cq.cn
bb.yn.cn
ftp.gs
lmvu.cn
epvy.cn
lquw.cn
hqie.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
广州番禺月饼厂  站搜  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 84322 84323 84324 下一篇