WordPress 评论区手机验证插件,用于在用户发布评论时强制进行手机短信验证,有效防止恶意评论,同时满足网络安全要求,兼容 DUX 主题,采用SPUG推送接口,对个人开发者友好。
- 评论验证机制:未登录/未绑定手机用户评论前需完成手机验证
- 多层防刷策略:
- 图片验证码前置验证
- 手机号/IP 发送频率限制(可配置时间间隔)
- 每日发送次数限制
- 黑名单号段过滤(支持前三位号段拦截)
- 完整的验证流程:
- 手机号格式校验
- 短信验证码发送与验证
- 验证状态会话存储
- 后台管理功能:
- 短信模板 ID 配置
- 限制参数自定义(频率、次数等)
- 数据库表状态查看
- 过期验证记录与日志清理
- 数据关联:评论与验证手机号绑定,支持后台查看
- 响应式设计:适配移动端与桌面端显示
- 安全特性:
- 基于 WordPress 非ce验证(nonce)防止CSRF攻击
- 输入数据 sanitize 处理
- 数据库操作安全过滤
- 下载插件 zip 包
- 登录 WordPress 后台 → 插件 → 安装插件 → 上传插件
- 激活插件后,系统会自动创建所需数据库表
- 进入后台「设置 → 手机验证」完成基础配置
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 短信模板 ID | 短信服务提供商的模板 ID | 空(需手动配置) |
| 黑名单号段 | 禁止验证的手机号前三位,逗号分隔 | 170,171,162,165,167 |
| 每日发送限制 | 单个手机号每日最大发送次数 | 5 次 |
| IP 限制时间 | 同一IP再次发送的间隔(分钟) | 2 分钟 |
| 手机号限制时间 | 同一手机号再次发送的间隔(分钟) | 2 分钟 |
插件会自动创建以下数据表:
{wp_prefix}_dpv_phone_verifications:存储验证码信息{wp_prefix}_dpv_send_logs:发送记录(用于防刷){wp_prefix}_dpv_user_phones:用户与手机号绑定关系{wp_prefix}_dpv_comment_phones:评论与手机号关联关系
可在后台「数据库表状态」查看表状态及记录数,支持「重新创建数据库表」(会清空现有验证记录)。
- 在评论框输入内容后,需先完成手机验证
- 输入手机号 → 填写图片验证码 → 点击「发送验证码」
- 输入收到的短信验证码 → 点击「确认关联」
- 验证通过后即可提交评论
- 清理过期记录:后台点击「清理过期验证码」按钮
- 清理日志:后台点击「清理7天前的发送日志」按钮
- 查看评论手机号:评论列表新增「手机号」列显示关联的验证手机号
phone-verification-plugin/
├── assets/ # 静态资源
│ ├── css/ # 样式文件
│ │ ├── frontend.css # 前端样式(用户端验证表单)
│ │ └── admin.css # 后台样式(设置页面)
│ └── js/ # 脚本文件
│ ├── frontend.js # 前端交互(验证流程逻辑)
│ └── admin.js # 后台交互(设置页操作)
├── includes/ # 核心功能类
│ ├── class-admin.php # 后台管理功能(菜单、设置页)
│ ├── class-ajax.php # AJAX 请求处理(前后端交互)
│ ├── class-captcha.php # 图片验证码生成与验证
│ ├── class-database.php # 数据库操作(表管理、数据读写)
│ └── class-frontend.php # 前端功能(资源加载、评论验证)
├── languages/ # 多语言文件(预留)
├── phone-verification-plugin.php # 插件主文件(入口、初始化)
├── uninstall.php # 卸载脚本(清理数据库表和选项)
└── README.md # 项目说明文档
- WordPress 6.0+
- PHP 8.1+
- 支持 MySQL 数据库
DevHjz
https://www.DevHjz.com