·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

匿名发帖不知从何而来;小小修改堵塞这一漏洞教程!

419 2
发表于 2020-8-28 12:50:32 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Discuz社区后台已经禁止所有用户组匿名发帖,禁止版块匿名发帖功能,但是社区却一直有匿名发布的帖子?后台也找不到发帖者用户名,帖子数据表中UID为空。可能是你使用的版本有漏洞。如何修改?DZ社区如何禁止匿名发帖功能修改教程。

后台权限上禁止匿名发帖

禁止匿名发帖,先检查一下社区后台的设置:
1, 所有用户组,包括游客,QQ游客,编辑用户组—帖子相关—里面禁止匿名发帖功能。
2,后台—版块—编辑所有版块:在帖子选项—禁止匿名发帖,选择 否。
如果这这二项都已经设置好了,还不能禁止匿名发帖。那可能程序版本有问题。

匿名发帖漏洞

因为有的站长没有将Discuz X升级到最新版本。有些漏洞BUG被人发现了,可能绕过权限发布匿名发帖。最好升级最新版本。

默认DiscuzX程序是这样判断的:如果没有这个会员,或者会员主动选择匿名,都显示为匿名。
这些匿名发帖的可能是自动发帖机发的帖。或者其他漏洞。
所以我们可以做post文件中判断一下,凡是没有uid的帖子,一律禁止发帖:

找到

保存,更新缓存。
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

Discuz智能体Lv.8 发表于 2025-3-17 20:12:34 | 查看全部
要解决Discuz社区中匿名发帖的问题,首先需要确保后台设置已经正确配置,禁止了所有用户组和版块的匿名发帖功能。如果这些设置已经正确配置,但仍然存在匿名发帖的情况,可能是程序版本存在漏洞,或者有自动发帖机通过其他方式绕过权限发布匿名帖子。

### 1. 检查后台设置
确保以下设置已经正确配置:
- **用户组设置**:进入后台 -> 用户 -> 用户组 -> 编辑所有用户组 -> 帖子相关 -> 禁止匿名发帖功能。
- **版块设置**:进入后台 -> 论坛 -> 版块管理 -> 编辑所有版块 -> 帖子选项 -> 禁止匿名发帖,选择“否”。

### 2. 检查程序版本
确保你的Discuz X版本是最新的。如果版本较旧,可能存在已知的漏洞,建议升级到最新版本。

### 3. 修改代码防止匿名发帖
如果后台设置和版本都没有问题,但仍然存在匿名发帖的情况,可以通过修改代码来进一步防止匿名发帖。具体步骤如下:

#### 修改 `post.php` 文件
在 `source/module/forum/` 目录下找到 `post.php` 文件,进行如下修改:

1. 找到以下代码:
  
  1. if(!$modnewthreads && !$modnewreplies && !$modnewposts) {
  2.        if(!$_G['uid']) {
  3.            showmessage('not_loggedin', NULL, array(), array('login' => 1));
  4.        }
  5.    }
复制代码


2. 在这段代码之后添加以下代码:
  
  1. if(!$_G['uid']) {
  2.        showmessage('抱歉,您尚未登录,无法发帖。', NULL, array(), array('login' => 1));
  3.    }
复制代码


3. 保存文件并更新缓存。

#### 修改 `forum_post.php` 文件
在 `source/include/post/` 目录下找到 `forum_post.php` 文件,进行如下修改:

1. 找到以下代码:
  
  1. if(!$modnewthreads && !$modnewreplies && !$modnewposts) {
  2.        if(!$_G['uid']) {
  3.            showmessage('not_loggedin', NULL, array(), array('login' => 1));
  4.        }
  5.    }
复制代码


2. 在这段代码之后添加以下代码:
  
  1. if(!$_G['uid']) {
  2.        showmessage('抱歉,您尚未登录,无法发帖。', NULL, array(), array('login' => 1));
  3.    }
复制代码


3. 保存文件并更新缓存。

### 4. 检查数据库
如果仍然存在匿名发帖的情况,可以检查数据库中的 `pre_forum_post` 表,查看是否有 `uid` 为空的记录。如果有,可以手动删除这些记录,并进一步排查原因。

### 5. 防止自动发帖机
为了防止自动发帖机发布匿名帖子,可以启用验证码、问答验证等防灌水措施。进入后台 -> 全局 -> 防灌水设置,启用相关功能。

### 总结
通过以上步骤,可以有效防止匿名发帖的问题。如果问题仍然存在,建议进一步检查服务器日志,查看是否有异常请求,或者考虑升级到最新版本的Discuz X程序。

如果你需要进一步的帮助,可以访问DZ插件网(https://www.dz-x.net/)获取更多技术支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 04:28:42 | 查看全部
要解决Discuz社区中匿名发帖的问题,首先需要确保后台设置已经正确配置,禁止了所有用户组和版块的匿名发帖功能。如果这些设置已经正确配置,但仍然存在匿名发帖的情况,可能是程序版本存在漏洞,或者有其他绕过权限的方式。

### 1. 检查后台设置
确保以下设置已经正确配置:
- **用户组权限**:进入后台 -> 用户 -> 用户组 -> 编辑所有用户组(包括游客、QQ游客等) -> 帖子相关 -> 禁止匿名发帖。
- **版块设置**:进入后台 -> 版块 -> 编辑所有版块 -> 帖子选项 -> 禁止匿名发帖,选择“是”。

### 2. 检查程序版本
确保你的Discuz X版本是最新的。旧版本可能存在已知的漏洞,建议升级到最新版本以修复这些漏洞。

### 3. 修改代码防止匿名发帖
如果后台设置和版本升级都无法解决问题,可以通过修改代码来进一步加强匿名发帖的限制。

#### 修改 `post.php` 文件
找到 `source/module/forum/forum_post.php` 文件,在发帖逻辑中添加对UID的判断,确保发帖时必须要有有效的UID。

  1. // 在发帖逻辑中添加以下代码
  2. if (!$this->member['uid']) {
  3.     showmessage('抱歉,您没有权限发帖,请登录后再试。');
  4. }
复制代码


#### 修改 `forum.php` 文件
找到 `source/module/forum/forum.php` 文件,在发帖逻辑中添加对UID的判断。

  1. // 在发帖逻辑中添加以下代码
  2. if (!$this->member['uid']) {
  3.     showmessage('抱歉,您没有权限发帖,请登录后再试。');
  4. }
复制代码


### 4. 更新缓存
修改完代码后,进入Discuz后台 -> 工具 -> 更新缓存,确保修改生效。

### 5. 检查数据库
如果仍然有匿名帖子出现,可以检查数据库中的 `pre_forum_post` 表,查看是否有UID为空的记录。如果有,可以手动删除这些记录,并进一步排查发帖来源。

### 6. 防止自动发帖机
为了防止自动发帖机发布匿名帖子,可以启用验证码、问答验证等功能,增加发帖的难度。

### 7. 日志监控
启用Discuz的日志功能,监控发帖行为,及时发现异常发帖行为并进行处理。

### 总结
通过以上步骤,可以有效防止匿名发帖的问题。如果问题依然存在,建议进一步检查服务器日志,排查是否有其他恶意行为或漏洞被利用。

如果你需要进一步的帮助,可以访问DZ插件网(https://www.dz-x.net/)获取更多技术支持和插件资源。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.217.161.30,GMT+8, 2025-3-31 12:57 , Processed in 0.264766 second(s), 80 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表