在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
mediawiki的localsettings.php是重要的配置文件,很多选项信息及功能扩展要修改它。 代码的添加位置 如需在localsettings.php中添加代码,则应该尽量添加在文件后部,这有两个原因: 1. 个人定制的信息聚集在一起,方便以后查找 2. 修改代码可能依赖本文件开始的代码,例如 require_once( "includes/DefaultSettings.php" ); 中就有很多原始设定。添加的代码必须位于这些代码之后。 举例如下:(……代表localsettings.php中以前的代码) …… require_once("extensions/inputbox.php"); /*2006-5-29修改*/ $wgGroupPermissions['*']['read'] = false; /*禁止匿名用户阅读*/ $wgGroupPermissions['user' ]['read'] = true; ?> 如果不是添加而只是修改,找到相应代码进行改动即可。 UTF-8文件的保存 localsettings.php修改必须以UTF-8格式保存,并且不能包含Unicode标记(BOM)。否则保存之后,mediawiki可能无法正常运行。 例如:用EmEditor保存时,选择“另存为”菜单,然后按下图进行选项调整: Image:Emeditor save utf8.png 如何设定时区? 在LocalSettings.php的某行添加以下代码:(中国大陆处于+8时区) $wgLocalTZoffset= "+8"; 权限的设定 在哪里设定? 权限的设定应该在localsettings.php中添加、修改代码。参见localsettings.php的修改方法。 (mediawiki的初始权限设定保存在includes/defaultsettings.php中,可以参考这里的写法,但不要直接改动这里) 如何设定权限? 权限设定代码如下: $wgGroupPermissions['用户组']['权限名称'] = 取值; · 用户组:设定权限的目标范围,*代表所有用户组,user代表登录用户,sysop代表管理员。更详细的介绍参见mediawiki的用户组。 注意:没有单独的匿名用户组。 · 权限名称:用户注册、页面访问、页面修改等都有单独的权限名称,参见下文说明。 · 取值:true代表允许,false代表禁止。二者取一。 一旦你更新了localsettings.php,修改内容会即时生效。 设定实例: 例如禁止匿名用户修改页面: $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['user']['edit'] = true;
说明:由于无法单独控制匿名用户组,所以采用*首先对所有用户进行修改限制;然后单独对登录用户打开修改权限。 由于管理员也是登录用户,所以不必单独继续设置?(欢迎补充资料) 可用的权限
mediawiki已经内置了很多权限,到mediawiki 1.6基本完善,后续版本仍有少量补充。例如,用户注册、页面访问、页面修改、文件上传等都有单独的权限可供配置,从而使站点有良好的权限控制。常用权限如下:
· read:页面浏览 · edit:编辑页面 · createpage:创建新文章 · createaccount:创建帐户 · move:页面移动/文章改名 · upload:图片及文件上传
此外,mediawiki的权限具有良好的扩展性,可以增加细分的权限并进行扩展(extension)进行控制。
在数据库中手工改变用户组
用户权限包含在user_groups表中,该表有两个字段,分别是ug_user和ug_group。对用户所属的每一个组,都必须有一行插入。您必须从用户表(users)中获知用户的ID。以下的SQL查询语句将能完成此功能。在下例中将 1 替换为从users表中得到的ID号.
_insertINTO user_groups (ug_user, ug_group) VALUES ('1', 'bureaucrat'); _insertINTO user_groups (ug_user, ug_group) VALUES ('1', 'sysop');
管理组权限
要改变已有组的访问等级或添加新组,您需要能通过shell/ftp访问MediaWiki所运行的机器。您可以如下例所示在LocalSettings.php中将许可移除或添加到一个组.
禁止匿名访问者创建帐号(它取代了1.4中的 $wgWhitelistAccount)
$wgGroupPermissions['*']['createaccount'] = false;
要求用户登录后才能编辑(它取代了1.4中的$wgWhitelistEdit)
$wgGroupPermissions['*']['edit'] = false;
以下设置尽管不值得做,但可能您还是要做
$wgShowIPinHeader = false; # 对于没有登录的用户
它将对没有登录的用户移除页面顶部的讨论页链接,这从1.4以来没有改变.
如果设置了$wgWhitelistRead,您必须同时禁用'read'许可。这将作用在匿名帐户上。首页和登录页所用的任何CSS和JS页面也是可访问的,这将防止IE的脚本错误对话框出现.
$wgWhitelistRead = array( "首页", "Special:Userlogin", "-", "Medi |
2022-08-17
2022-11-06
2022-08-17
2022-07-18
2022-07-22
请发表评论