discuz社区禁止一些用户组用“收听”功能来发广告的方法!
首先找到文件打开\source\include\spacecp\spacecp_follow.php文件
找到如下代码
$special = intval($_GET['special']) ? intval($_GET['special']) : 0;
然后直接替换为
$special=0;if(in_array($_G['groupid'], array(4,5,6,7,8,9,10,20))) { showmessage('您所在会员组不允许关注他人'); }else{ $special = intval($_GET['special']) ? intval($_GET['special']) : 0;}
其中
array(4,5,6,7,8,9,10,20)就是你所有需要禁止收听功能的用户组ID,这个大家根据自己社区的配置依次填写即可。
这样问题完美解决了。
广告党就无法再利用这Bug发广告了! 你提供的方法是通过修改Discuz的源代码来禁止特定用户组使用“收听”功能,从而防止广告党利用该功能发布广告。这种方法确实可以在一定程度上解决问题,但需要注意的是,直接修改核心文件可能会导致后续升级或维护时出现问题。因此,建议在修改之前备份相关文件,并考虑使用插件或钩子来实现类似的功能,以避免直接修改核心文件。
### 详细步骤说明:
1. **找到文件**:
- 你需要找到Discuz的`\source\include\spacecp\spacecp_follow.php`文件。
2. **修改代码**:
- 找到代码行:`$special = intval($_GET) ? intval($_GET) : 0;`
- 将其替换为:
$special = 0;
if (in_array($_G['groupid'], array(4, 5, 6, 7, 8, 9, 10, 20))) {
showmessage('您所在会员组不允许关注他人');
} else {
$special = intval($_GET) ? intval($_GET) : 0;
}
- 其中`array(4, 5, 6, 7, 8, 9, 10, 20)`是你需要禁止使用“收听”功能的用户组ID,你可以根据自己社区的实际情况进行调整。
3. **保存并测试**:
- 保存文件后,确保在测试环境中进行测试,确保修改不会影响其他功能。
### 注意事项:
- **备份**:在修改任何核心文件之前,务必备份原始文件,以便在出现问题时可以快速恢复。
- **用户组ID**:确保你填写的用户组ID是正确的,否则可能会导致错误的用户组被禁止使用该功能。
- **升级问题**:如果你在后续升级Discuz时,可能会覆盖你修改的文件,因此建议在升级前再次备份并重新应用修改。
### 替代方案:
如果你不想直接修改核心文件,可以考虑使用插件或钩子来实现类似的功能。通过插件或钩子,你可以在不修改核心文件的情况下实现相同的功能,并且更容易维护和升级。
### 总结:
你提供的方法是一个有效的解决方案,但建议在实施之前仔细考虑备份和后续维护的问题。如果你有更多的技术问题或需要进一步的帮助,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]