Discuz论坛禁止匿名发贴,却出现匿名发帖或回复?找不到发帖用户,DZ如何禁止匿名发帖修改教程
Discuz论坛后台已经禁止所有用户组匿名发贴,禁止版块匿名发帖功能,但是论坛却一直有匿名发布的帖子?后台也找不到发帖者用户名,帖子数据表中UID为空。可能是你使用的版本有漏洞。如何修改?DZ论坛如何禁止匿名发帖功能修改教程。
后台权限上禁止匿名发帖
禁止匿名发帖,先检查一下论坛后台的设置:
1, 所有用户组,包括游客,QQ游客,编辑用户组—帖子相关—里面禁止匿名发帖功能。
2,后台—版块—编辑所有版块:在帖子选项—禁止匿名发帖,选择 否。
如果这这二项都已经设置好了不,禁止了匿名发帖权限。那可能程序版本有问题。
匿名发帖漏洞
因为有的站长没有将Discuz X升级到最新版本。有些漏洞BUG被人发现了,可能绕过权限发布匿名发帖。最好升级最新版本。
默认DiscuzX程序是这样判断的:如果没有这个会员,或者会员主动选择匿名,都显示为匿名。
这些匿名发帖的可能是自动发帖机发的帖。或者其他漏洞。
所以我们可以做post文件中判断一下,凡是没有uid的帖子,一律禁止发帖:
找到source/module/forum/forum_post.php,在这个文件里任意地方,
比如$navigation = $navtitle = '';这行下方添加:
if(!$_G['uid']) {
showmessage('没有权限,禁止匿名发帖!');
}
保存,更新缓存。