在 Discuz 后台关闭注册功能是最直接的止损手段,操作路径位于“用户”>“注册与访问控制”。适用场景为遭受批量机器注册攻击时,风险在于关闭期间正常新用户无法加入。
先说结论:关闭注册开关能立即阻断新垃圾账号产生,但属于临时防御措施,需配合清理现有垃圾账号。
- 适合:论坛遭遇突发批量注册攻击、无法及时更新验证码插件时
- 优先做:进入后台全局设置关闭注册开关,并开启管理员审核
- 再验证:前台访问注册页面确认提示关闭,且日志无新增异常账号
快速处理思路
Discuz 注册功能通过后台开关控制,无需修改代码或执行命令行。管理员登录后台后,在全局设置中找到注册选项,将开启状态改为关闭即可生效。若需保留邀请注册,需单独配置邀请权限,避免误伤特定用户群。
为什么会这样
垃圾账号主要通过公开注册接口批量写入数据库。关闭注册功能相当于在应用层切断写入入口,使注册请求无法完成表单提交。此方法不依赖第三方插件,生效速度快,但无法清理已存在的垃圾账号。
分步处理
1. 登录 Discuz 管理中心,使用创始人账号或拥有“全局设置”权限的管理员账号。
2. 点击顶部菜单“用户”,在左侧导航栏找到“注册与访问控制”。
3. 找到“是否开启注册”选项,选择“关闭”。
4. 若需保留邀请注册,确保“是否允许邀请注册”选项状态符合预期,通常建议同时关闭以避免邀请码泄露风险。
5. 点击页面底部“提交”按钮,系统提示“设置保存成功”。
6. 进入“工具”>“更新缓存”,选择“更新所有缓存”,确保设置立即生效。
怎么验证是否生效
在浏览器无痕模式下访问论坛前台注册页面(通常为 member.php?mod=register)。页面应显示“本站已关闭注册”或类似提示,且注册表单不可见。同时观察后台“用户”>“用户列表”,确认关闭后时间段内无新增用户 ID。
常见坑
1. 缓存未更新:修改设置后未更新缓存,导致前台仍显示注册入口,需手动更新全站缓存。
2. 误关邀请注册:部分站点依赖邀请码机制,关闭总开关可能连带关闭邀请注册,需检查细分选项。
3. 忽略现有垃圾:关闭注册仅防止新增,已存在的垃圾账号需手动批量删除或禁用,否则仍可能发帖。
4. 长期关闭影响增长:长期关闭注册会导致论坛无法吸纳新成员,攻击结束后应及时恢复并加强验证。
常见问题
关闭注册会影响老用户登录吗
不会影响。关闭注册功能仅限制新账号创建,已有账号的登录、发帖、浏览权限不受影响。
如何只关闭普通注册但保留邀请注册
在“注册与访问控制”页面,将“是否开启注册”设为关闭,同时检查“是否允许邀请注册”选项,部分版本需配合邀请插件设置,建议测试邀请链接是否可用。
关闭注册后还能通过 API 注册吗
取决于接口实现。Discuz 原生关闭注册通常同时阻断前台表单和大部分原生 API 注册请求,但自定义插件接口可能绕过此限制,需检查插件权限。
参考来源
Discuz! 官方文档 - 管理中心使用指南,discuz.dismall.com