|
dz 5.5、5.0一系列的权限控制和其它
dz 5.5、5.0一系列的权限控制和其它
为了保证论坛用户数据的安全,管理员在后台如果开启了允许用户查看会员资料则所有注册了的用户组和游客都可以查看,这给论坛带来了一定的安全隐患,还会泄漏会员的资料。此插件可以指定用户组才有查看会员资料的操作。
根目录下,打开member.php
找到
showmessage('member_list_disable', NULL, 'HALTED');
在下面添加
} elseif(!in_array($groupid, array(1,2,3,11,12,13,14,15,16,17,18,19,20,21))){
showmessage('抱歉,『翱翔网络论坛』禁止查看会员资料!');
说明:1,array(1,2,3)中的123是后台对应定义的用户组编号如下:
1 管理员组
2 超级版主
3 版主
4 禁止发言
5 禁止访问
6 禁止 IP
7 游客
8 等待验证会员
系统用户组里默认设定的几个用户,可以查看后台用户组页面的源文件获得对应数字的用户组编号。编号从9开始。比如第一个用户组就是9。
2,“抱歉,翱翔网络论坛禁止查看会员资料!”---可以替换成你想要显示的文字。
例如,只让管理组可以查看,则代码为:
} elseif(!in_array($groupid, array(1))){
showmessage('抱歉,『翱翔网络论坛』禁止查看会员资料!');
“在线用户”查看权限控制
下面的修改是让管理组看见有谁在线,其他会员和游客能看见有多少人在线等等信息,但是不知道具体谁在线。
修改discuz.htm文件:
<tr><td colspan="7" valign="middle">$_DCACHE[onlinelist][legend]</td></tr>
<!--{if $detailstatus}-->
替换成:
<tr><td colspan="7" valign="middle">$_DCACHE[onlinelist][legend]</td></tr>
<!--{if $detailstatus & ($adminid == 3 || $adminid == 2 || $adminid == 1)}-->
继续找到(共有两处):
<span class="bold"><a href="member.php?action=online">{lang index_activeusers}</a></span>
替换成(两处均这样替换):
<span class="bold"><!--{if $adminid == 3 || $adminid == 2 || $adminid == 1}--><a href="member.php?action=online">{lang index_activeusers}</a><!--{else}-->{lang index_activeusers}<!--{/if}--></span>
打开member.php:
5.0找:
$multipage = multi($num, $memberperpage, $page, "member.php?action=online");
5.5找:
$multipage = multi($num, $memberperpage, $page, 'member.php?action=online');
替换成:
if($adminid == 3 || $adminid == 2 || $adminid == 1) {
$multipage = multi($num, $memberperpage, $page, "member.php?action=online");
} else {
showmessage('抱歉,『翱翔网络论坛』禁止查看在线用户!'); |
|