Discuz! X3.* 的广播收听权限默认赋予给所有用户,且后台不可设置取消。现在发现有人恶意创建用户名和个人介绍中包含网址等推介信息的帐号,使用工具根据UID大批量逐一收听全站用户,从而致使用户受到广告信息的骚扰。我们可以通过以下几步取消新用户默认用户组的广播收听权限,并清除已经产生的垃圾收听记录。
discuz关闭关注收听的功能一直都没有后台限制,被一些不良人士利用,通过软件让账户不发帖子也不回复,就只是收听其他人,收听是有提醒的,从而达到发广告的效果,下面就简单说一个限制用户组使用关注收听功能的方法
首先找到文件
打开\source\include\spacecp\spacecp_follow.php文件
找到如下代码
$special = intval($_GET['special']) ? intval($_GET['special']) : 0;
然后直接替换为
$special=0; if(in_array($_G['groupid'], array(1,2,3,4,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19))) { showmessage('灰常抱歉!本站已禁用此功能~哈哈!'); }else { $special = intval($_GET['special']) ? intval($_GET['special']) : 0; }
其中
array(4,5,6,7,8,9,10,20)
就是你所有需要禁止收听功能的用户组ID,后台 用户 用户组 就可以看到用户组的ID!这样就限制使用Discuz广播关注收听功能来发广告了!
针对指定用户组取消前台“听众”“收听”页面中列表右侧的收听按钮。
打开当前模板目录下 home/follow_feed.htm 文件,查找
<!--{if $fuser['mutual']}-->
共两处,替换为
<!--{if in_array($_G['groupid'], array(1,2,3,4,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19))}--> <span style="color:#999999;font-style:italic;margin-right:50px;float:right;">灰常抱歉!本站已禁用此功能~</span> <!--{elseif $fuser['mutual']}-->
针对指定用户组取消前台广播页面上的“收听”按钮。
打开当前模板目录下 home/follow_user_header.htm 文件,
查找
<div class="mtm o cl">
在其下方加入:
<!--{if in_array($_G['groupid'], array(1,2,3,4,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19))}--> <div id="followflag" style="color:red;">灰常抱歉!本站已禁用此功能</div> <!--{elseif in_array($_G['groupid'], array(99,100))}--> <div id="followflag" style="color:red;">您当前处于受限状态,无法进行收听操作</div> <!--{else}-->
然后在倒数第三行前面加入一行:
<!--{/if}-->
清除已经产生的恶意收听记录。
首先,您可以锁定该恶意用户的帐号,但哪怕是将该用户彻底删除,他的收听记录仍然存在,被收听的用户登录后,仍然可以看到他的用户名。怎样清除这些恶意收听记录呢?
请使用 phpMyAdmin 等MySQL数据库管理工具登录到论坛数据库,执行以下SQL语句:
delete from pre_home_follow where uid='恶意用户的UID';
发表评论