验证码、限流与新用户风险策略加固
xiaobai 8小时前

2026-06-09 验证码、限流与新用户风险策略加固

本次为注册、登录、前台发主题和回帖补充验证码防护,并与现有限流、用户组和注册时间策略组合使用,降低机器人批量注册、撞库登录和垃圾发帖回帖风险。

主要改动:

  1. 公共验证码与风险策略函数
  • 文件:model/misc.func.php
  • 新增 captcha_protect_setting()captcha_required()captcha_verify()captcha_form_html()captcha_unlock() 等函数。
  • 验证码默认使用简单算术题,答案保存在当前 Session。
  • 页面初始不直接展示题目,用户需要先拖动验证码区域滑块,服务端确认解锁后才生成并返回验证码题目。
  • 提交时同时校验滑动解锁状态和验证码答案;解锁状态默认 5 分钟有效,提交成功后清理。
  • 登录验证码开启后,登录提交必须输入正确验证码。
  • 发主题 / 回帖按用户组和注册时间触发验证码:默认新注册 24 小时内普通用户需要验证码,后台/特殊用户组可豁免。
  1. 注册、登录、发主题、回帖服务端校验
  • 文件:route/user.php
  • 注册提交接入验证码校验;登录开启验证码后提交即校验验证码;新增 user-captcha-{scene} 接口用于滑动解锁后生成验证码题目。
  • 文件:route/thread.php
  • 前台发主题提交在限流后接入验证码校验。
  • 文件:route/post.php
  • 前台回帖提交在限流后接入验证码校验。
  1. 前台表单展示验证码
  • 文件:view/htm/user_login.htm
  • 登录验证码开启后显示滑动验证码区域。
  • 文件:view/htm/user_create.htm
  • 注册页显示滑动验证码区域。
  • 文件:view/htm/post.htm
  • 发主题 / 高级回帖页按风险策略显示滑动验证码区域。
  • 文件:view/htm/thread.htm
  • 快捷回帖表单同步接入滑动验证码,避免只限制高级回复。
  • 文件:view/htm/footer.inc.htm
  • 新增全局验证码滑块交互脚本,拖动完成后通过 AJAX 获取验证码题目。
  1. 后台安全防护配置
  • 文件:admin/route/setting.php
  • “限流设置”同时保存验证码防护配置,支持恢复默认安全规则。
  • 文件:admin/view/htm/setting_rate_limit.htm
  • 新增验证码总开关、注册验证码、登录验证码、发主题验证码、回帖验证码、新用户时间和豁免用户组配置项。
  • 文件:view/css/bootstrap-bbs.css
  • 新增滑动验证码区域、滑块、解锁状态和验证码输入框样式。
 

欢迎大家加入QQ交流群:785017513

最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问