If you need per-page or partial page access restrictions, you are advised to install an appropriate content management package. MediaWiki was not written to provide per-page access restrictions, and almost all hacks or patches promising to add them will likely have flaws somewhere, which could lead to exposure of confidential data. We are not responsible for anything being leaked, leading to loss of funds or one's job.
For further details, see Security issues with authorization extensions
|Lock Down English Pages
Release status: beta
|Description||Prevents non-staff users from editing the English interface messages|
|Latest version||0.1 (2011-07-06)|
|Example||ShoutWiki's Interface Messages Wiki|
|Translate the LockDownEnglishPages extension if it is available at translatewiki.net|
|Check usage and version matrix.|
Lock Down English Pages is a MediaWiki extension that prevents users who are not members of the staff group but who have the editinterface user right from editing English interface messages (pages in the MediaWiki namespace that either have the /en suffix or no slash character at all).
- Download and place the file(s) in a directory called
- Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'LockDownEnglishPages' );
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Explanation of the logic
The extension checks that:
- the page we're trying to edit is in the NS_MEDIAWIKI namespace
- that we have the 'editinterface' user right (which sysops by default have)
- that we are not a member of the staff group and
- that $action is 'edit'
Then it proceeds to check the current title. If the current title has either /en or alternatively no / at all in its title, editing will be prevented.
ShoutWiki's custom extensions and other things are translatable via the Interface Messages Wiki (where the MessageCommons extension is installed). We are rather liberal with the administrator rights over there, but since administrators (by default) have the editinterface user right, they may accidentally mess up the English pages, in case if they forget to add their language's language code to the page URL (i.e. they want to edit MediaWiki:Foo/fr but they accidentally end up editing MediaWiki:Foo, the English message). This extension prevents translators from accidentally messing up the English interface messages by disallowing them to edit those messages.