欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
用户权限管理
以下内容引用自:http://windwood.xmu.edu.cn 的http://www.windwood.name/mywork/archives/000364.html
限制MediaWiki系统匿名用户的权限 | WebSite 昨天安装了一个MediaWiki系统(Wikipedia就是基于这个系统的)。但是它的默认配置是,网站内容对于匿名用户(也就是任何访问网站的用户)都是可读且可写的,而且匿名用户可以注册用户。
为了网站内容的安全性,必须限制匿名用户的这些权限,即匿名用户不可编辑网站内容;同时必须加强用户的管理,只有管理员才能创建新用户。经过这样配置之后的动态网站才是可以控制的(毕竟在管理人员不足的情况下是无法相信访问者的自觉性的)。
}
serHasRight);
}
return $allowed;
}
看来一个用户是否有权限创建用户取决于$wgWhitelistAccount这个数组了。而这个数组又是定义在DefaultSetttings.php里的,原先的设定如下:
$wgWhitelistAccount = array ( 'user' => 1, 'sysop' => 1, 'developer' => 1 );
结合上面的代码可以得知$wgWhitelistAccount里存放的是各个用户组是否可以创建用户的权限值,而任何用户包括匿名用户都属于user组。因此只要将数组中的'user' => 1删除,就可以使得匿名用户不能创建用户。
在DefaultSettings.php里面的设置还有:
$wgWhitelistEdit = false; $wgWhitelistRead = false;
第一个设置成true则用户必须要登录后才能编辑,同理第二个则是要用户必须在登录后才能阅读网站的内容。
在设置完了DefaultSettings.php之后,所要求的一些安全特性也就有了。
后来考虑其实LocalSettings.php似乎是用来覆盖DefaultSettings.php的设置的,不妨可以把一些自定义的选项设置到LocalSettings.php中去。
在1.5.2版本中,在LocalSettings.php这个文件中加入:
$wgGroupPermissions['*' ]['createaccount'] = false; 取消匿名用户注册帐号的权力。
$wgGroupPermissions['*' ]['edit'] = false; 取消匿名用户编辑条目的权力。
就可以达到相应的效果。通过类似的设置,应该可以在wiki中建立完善的权限控制。