Skip to content

WordPress 评论区手机验证插件,用于在用户发布评论时强制进行手机短信验证,有效防止恶意评论,同时满足网络安全要求,兼容 DUX 主题,采用SPUG推送接口,对个人开发者友好。

License

Notifications You must be signed in to change notification settings

DevHjz/WP-Comment-Phone-Verify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WP-Comment-Phone-Verify

WordPress 评论区手机验证插件,用于在用户发布评论时强制进行手机短信验证,有效防止恶意评论,同时满足网络安全要求,兼容 DUX 主题,采用SPUG推送接口,对个人开发者友好。

功能特点

  • 评论验证机制:未登录/未绑定手机用户评论前需完成手机验证
  • 多层防刷策略
    • 图片验证码前置验证
    • 手机号/IP 发送频率限制(可配置时间间隔)
    • 每日发送次数限制
    • 黑名单号段过滤(支持前三位号段拦截)
  • 完整的验证流程
    • 手机号格式校验
    • 短信验证码发送与验证
    • 验证状态会话存储
  • 后台管理功能
    • 短信模板 ID 配置
    • 限制参数自定义(频率、次数等)
    • 数据库表状态查看
    • 过期验证记录与日志清理
  • 数据关联:评论与验证手机号绑定,支持后台查看
  • 响应式设计:适配移动端与桌面端显示
  • 安全特性
    • 基于 WordPress 非ce验证(nonce)防止CSRF攻击
    • 输入数据 sanitize 处理
    • 数据库操作安全过滤

安装步骤

  1. 下载插件 zip 包
  2. 登录 WordPress 后台 → 插件 → 安装插件 → 上传插件
  3. 激活插件后,系统会自动创建所需数据库表
  4. 进入后台「设置 → 手机验证」完成基础配置

配置说明

基础配置(设置 → 手机验证)

配置项 说明 默认值
短信模板 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:评论与手机号关联关系

可在后台「数据库表状态」查看表状态及记录数,支持「重新创建数据库表」(会清空现有验证记录)。

使用说明

用户端流程

  1. 在评论框输入内容后,需先完成手机验证
  2. 输入手机号 → 填写图片验证码 → 点击「发送验证码」
  3. 输入收到的短信验证码 → 点击「确认关联」
  4. 验证通过后即可提交评论

管理员端操作

  • 清理过期记录:后台点击「清理过期验证码」按钮
  • 清理日志:后台点击「清理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 数据库

许可证

Apache License 2.0

作者

DevHjz
https://www.DevHjz.com

About

WordPress 评论区手机验证插件,用于在用户发布评论时强制进行手机短信验证,有效防止恶意评论,同时满足网络安全要求,兼容 DUX 主题,采用SPUG推送接口,对个人开发者友好。

Resources

License

Stars

Watchers

Forks

Packages

No packages published