Erweiterung:AccessControl
Wenn du Zugriffsbeschränkungen für einzelne Seiten oder Teilbereiche benötigst, solltest du ein entsprechendes Content-Management-Paket installieren. MediaWiki wurde nicht so geschrieben, dass es Zugriffsbeschränkungen für einzelne Seiten bietet, und fast alle Hacks oder Patches, die dies versprechen, haben wahrscheinlich irgendwo einen Fehler, der dazu führen könnte, dass vertrauliche Daten offengelegt werden. Wir sind nicht dafür verantwortlich, dass etwas durchsickert.
Für weitere Details siehe Special:MyLanguage/Security issues with authorization extensions |
AccessControl Freigabestatus: stabil |
|
---|---|
Einbindung | Benutzerrechte , Parser-Erweiterung , Tag |
Beschreibung | Ermöglicht das Einschränken des Zugriffs auf bestimmte Seiten basierend auf internen Gruppen oder Gruppenlisten aus dem Benutzerbereich |
Autor(en) | Aleš Kapica (WantDiskussion) |
Letzte Version | 6.0 (2023-03-01) |
Kompatibilitätspolitik | Der Master behält die Abwärtskompatibilität bei. |
MediaWiki | 1.34+ |
PHP | 7.4+ |
Datenbankänderungen | Nein |
Lizenz | GNU General Public License 2.0 oder neuer |
Herunterladen | |
Beispiel | Support DCEwiki oder Thewoodcraft.org |
|
|
<accesscontrol> (not need anymore) |
|
Quarterly downloads | 53 (Ranked 91st) |
Übersetze die AccessControl-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
Probleme | Offene Aufgaben · Einen Fehler melden |
Die AccessControl Erweiterung ermöglicht es, den Zugriff auf bestimmte Seiten basierend auf internen Gruppen oder Gruppenlisten aus dem Benutzerbereich zu beschränken.
MediaWiki ist in seinem Standardzustand nicht als Content Management System (CMS) konzipiert, wenn es jedoch als Unternehmens- oder Schulintranet verwendet wird, muss es sensible Daten schützen. AccessControl has been developed for this purpose.
Wie diese Erweiterung die Anforderungen an die Sicherheit der Website erfüllt
- Atom/RSS-Feeds, Diff- und Revisions-Links
- Der Seiteninhalt ist geschützt, jedoch wird beim Öffnen einer Seite aus der Historie ein Stück Rohinhalt angezeigt. Wenn der <accesscontrol>-Tag am Anfang platziert wurde, kann ein potenzieller Angreifer die Namen der beitragenden Nutzer sehen!
- Listings & Suche
- Wenn nichts anderes angegeben ist, wird der Nutzer weggeleitet, wenn eine Seite mit geschütztem Inhalt in den Suchergebnissen existiert. Seit der Erweiterungsversion 2.5 kann auch die Suche erlaubt werden. Es sollte jedoch bedacht werden, dass die angezeigten Suchergebnisse sensible Daten gefährden können. Tu daher in deinem Wiki keine sensiblen Daten, wie z. B. Passwörter, die durch eine Volltextsuche erlangt werden könnten, wenn das Durchsuchen der Inhalte von durch eine Zugangskontrolle geschützten Seiten erlaubt ist!
- Inklusion/Transklusion, verwandte Rechte & andere Erweiterungen
- Seiten, die den <accesscontrol>-Tag enthalten oder eine andere Seite einschließen, die durch den <accesscontrol>-Tag geschützt ist, sind sicher. Der <accesscontrol>-Tag wird vor der HTML-Konvertierung im rohen Wikitext verarbeitet.
- Umleitungen
- Das Problem mit der Weiterleitung wurde in Version 1.1 behoben
- API & Aktionslinks
- Für jeden anonymen Benutzer wird die Aktionsklasse automatisch auf false festgelegt, außerdem das Attribut view für ungeschützte Seiten. Erlaubte Aktionen für autorisierte Benutzer hängen von den Berechtigungseinstellungen von MediaWiki ab und dem Benutzernamen, der in der Zugriffsliste aufgeführt ist, die Seiten verwendet.
- Abschnitt bearbeiten & Seiten beobachten
- Diese Optionen sind nur für registrierte Nutzer/innen verfügbar, wenn sie angemeldet sind und auf der Sicherheitszugangsliste stehen.
- Dateien & Bilder
- XML-Export (Special:Export)
- Warnung: AccessControl Version < 2.0, basierte auf einem von MediaWiki ungeschützten Haken, bevor Seiten in Rohcode exportiert wurden. Wenn du also AccessControl Version < 2.0 verwendest, musst du die spezielle Seite verbieten, um den Export der Seiten aus MediaWiki zu verhindern.
Author backdoor : Extension AccessControl hat keine Hintertür!
- Caching
- Ich empfehle, das Caching zu deaktivieren. Siehe die vorherigen Absätze.
Weitere Informationen zu möglichen Sicherheitsproblemen findest du auf der Seite Sicherheitsprobleme mit Autorisierungserweiterungen.
Funktionen
- Easy to set up and simple to use.
- No patches to MediaWiki core.
- Unlimited groups.
- Dual mode access control:
- View control.
- Edit control, including restrictions on manual edit access when using action=edit in the URL.
- User groups may use any namespace.
- Namespaces with group lists may be protected by another extension.
- MediaWiki sysop group may view and edit the protected pages.
- Controlled by extension variable
$wgAdminCanReadAll
- Controlled by extension variable
- Access may be granted to multiple groups
- Read-only access may be granted to both groups and individual users.
- Unauthorized users can use the search feature only if is it allowed.
Siehe wie diese Erweiterung die Anforderungen an die Sicherheit einer Website erfüllt.
Dokumentation
Handbuch (vorerst in tschechischer Sprache) hier als Wikiseite, ist jedoch für die Übersetzung vorbereitet. Wenn du dazu beitragen willst, eine englische Version zu erstellen, musst du einen beliebigen Geldbetrag spenden, um einen kommerziellen Übersetzer zu bezahlen, denn der Autor hat nicht die Zeit und die Fähigkeiten dafür. Die Manpage (vorerst nur die tschechische Version) ist Teil des Quellcodes und kann in deine private MediaWiki-Instanz importiert werden, wenn du möchtest.
Installation
Schritt 1: Lokale Einstellungsdatei
- First check that you have set these variables in the LocalSettings.php file. If not, set them:
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['writeapi'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['createtalk'] = false;
- Füge die folgenden Zeilen am Ende deiner LocalSettings.php hinzu:
wfLoadExtension( 'AccessControl' );
Step 2: Read manual
Version 6.0 supports the old syntax of this extension. New syntax based on template parameters is very sophisticated. But for base use we can still use the AccessList created by the old syntax, and protect pages by element accesscontrol.
Using
The new version has a new access rights setting system, based on template parameterization. If the parser encounters any of the following parameters while processing a template, it will call AccessControl to check if the user has access to the content.
- isProtectedBy - list of user groups
- readOnlyAllowedGroups - user groups with read-only access
- editAllowedGroups - user groups with edit access
- readOnlyAllowedUsers - list of users who can only read the content of the site
- editAllowedUsers - a list of users with editing rights
- readOnlyAllowedUsers - list of users who can only read the content of the site
- editAllowedGroups - user groups with edit access
- readOnlyAllowedGroups - user groups with read-only access
Within a single template, all of the above parameters can be used at the same time, so the indentation indicates their hierarchical position in terms of rights. You will learn more in the description of each parameter, where examples will also be given.
editAllowedUsers
Using this parameter turns a regular template into a list of users.
Each user whose name is specified in this parameter will have the right to edit the page into which the template with this parameter will be inserted.
And also all pages that use it in the isProtectedBy
parameter.
If more than one user is specified, their usernames are separated by a comma.
Simple example self-protected page (i.e. 'MyPage'
) where is in code used 'Template:Warning'
:
{{Warning
| 1 = This page is protected
| editAllowedUsers = John Doe, Jane Doe
}}
I can be used to protection another page, if wikitext content use any template with the parameter 'isProtectedBy'
, where is as value name the self-protected page 'MyPage'
.
See example:
…
| isProtectedBy = MyPage
…
It can be (not must!) edited by Page Form.
'edit'
only for verified users allowed. Extensions ConfirmAccount and ConfirmEdit (CAPTCHA) recommend.Using of the old syntax
First create User Groups. It may be any page stored in the main namespace, only colon must be after first word in the name. User lists can be a page in the namespace titled "Department" Each username appears as a list item.
* John Doe
* Jane Doe (ro)
- Benutzernamen, die mit "(ro)" am Ende aufgeführt sind, können den geschützten Artikel nur lesen, aber nicht bearbeiten. Für andere Benutzergruppen kannst du eine weitere Mitgliederliste mit dem Namen Abteilung in einem anderen Namensraum erstellen. Beachte, dass der Name des Benutzers mit einem Großbuchstaben beginnen muss!
- Example tag code
<accesscontrol>Administrators,IT:Department,Sales(ro)</accesscontrol>
Configuration
- Check the settings in
extension.json
file.
Diese können in LocalSettings.php festgelegt werden:
$wgAdminCanReadAll = true; // sysop users can read all restricted pages
- Je nach Lokalisierung müssen für dein Wiki Seiten erstellt werden, auf die anonyme oder nicht autorisierte Benutzer umgeleitet werden. Du musst sie im Voraus erstellen, weil einige von ihnen nicht von einer anderen Seite aus auf die Seiten zugreifen können.
- The safety of the page is provided by the <accesscontrol> tag. If there isn't a tag or the page is empty, it's freely accessible to logged-in users that can read and edit the page. No user, logged in or anonymous, will have read-only access.
- Members from groups listed in the <accesscontrol> tag can edit the page only if the group title isn't listed with "(ro)" and if they don't have read only access set in the group member list.
- By default the variable
$wgAdminCanReadAll
is set to true so that members of sysop can edit user group pages in any namespace.
Attention
For version < 4.1
MediaWiki Versions: | 1.29 – 1.36 |
If for some reason you cannot upgrade your MediaWiki to version 1.39 LTS, you can continue to use version 4.1 of the form-support branch. If you have a problem with the update, because any problem occurred and blocked your actualization, write in the discussion. MediaWiki is very complexity software, and sometime a little bug may be as big problem for admins without the programming experiences.
form-support
wurde für die Verwendung mit dem Erweiterung:Seitenformulare entwickelt - als Accesslist kannst du jede Vorlage verwenden, die alte Syntax von Accesslists wird jedoch unterstützt.
Auch für die Verwendung mit dem VisualEditor wurden Änderungen vorgenommen.
Du kannst den Code von Git bekommen:
git clone -b form-support https://gerrit.wikimedia.org/r/p/mediawiki/extensions/AccessControl.git
If your MediaWiki Version ≥ 2.6 isn't recommend for use, because have not support of the maintainer.
MediaWiki Versions: | 1.21 – 1.28 |
Es wird dringend empfohlen, die Version 2.5.1 zu verwenden.
Für Version < 2.3
- Es gab ein Problem in der Funktion fromTemplate(), das dazu führte, dass AccessControl Tags von eingebundenen Seiten oder Vorlagen ignorierte. Eine Aktualisierung wird empfohlen!
Für Version ≥ 2.0
MediaWiki Versions: | 1.18 – 1.20 |
- Seiten können nur ein <accesscontrol>-Element haben.
- Wenn der/die Nutzer/in Mitglied mehrerer Gruppen ist, wird die Gruppe angenommen, die ihm/ihr mehr Zugang gewährt.
- Diese Erweiterung verwendet einen MediaWiki-Hook, der immer dann aufgerufen wird, wenn ein Suchergebnis angezeigt wird. Das bedeutet, dass eine Seite, die mit einer ACL versehen ist, eine "Zugriff verweigert"-Meldung für Endnutzer/innen auslöst, die zufällig nach Text auf einer geschützten Seite suchen. Eine einfache Lösung ist es, Seiten, die AccessControl benötigen, in einen anderen Namespace zu verschieben und dann die Suche nach diesem Namespace zu deaktivieren. Das ist zwar kein wirklicher Fehler, aber ein unerwünschtes Verhalten. Klicke hier für ein Beispiel, das eine Lösung zeigt.
Für Version ≤ 1.3
MediaWiki Version: | ≤ 1.17 |
- Gruppen aus MediaWiki dürfen nicht in lokalisierter Form vorliegen! sysop kann nicht Správce sein, usw.
- Eine Seite kann mehrere <accesscontrol>-Elemente haben, wobei der Zugriff von Gruppen in jedem Tag akzeptiert wird.
- Anonyme Benutzer/innen haben keinen Zugriff auf Seiten, die durch <accesscontrol>-Elemente geschützt sind.
- Wenn die Variable
$wgAdminCanReadAll
wahr ist, haben Sysops immer Bearbeitungsrechte.
MediaWiki Version Testing
form-support
) was actualized and tested on MediaWiki 1.39.2 the current stable release of long-term support (November 2026), and merged into master branch of git repository.- Version 4.1 aus dem Zweig
form-support
des Git-Repositorys (siehe Link zum Klonen oben auf dieser Seite) wurde auf MediaWiki 1.35 der aktuellen stabilen Version des Langzeitsupports (September 2023) getestet This version is recommend for use on MediaWiki 1.29< 1.35
Geschichte
Die erste Version dieser Erweiterung (1.x) basierte auf Group Based Access Control , jedoch ohne die Fehler, die das Original hatte.[1]
- Version 4.0 ist veraltet (phab:T281848). Upgrade empfohlen.
- Version 3.0.1 wurde auf MediaWiki 1.34.0 getestet, ist jedoch veraltet. Upgrade empfohlen.
- Version 2.5.1 wurde in MediaWiki 1.33.0-alpha (5eb97ec) getestet
- Version 2.6 wurde in MediaWiki 1.27.0-rc.0 (57f722a) getestet
- Version 2.5 wurde auf MediaWiki 1.27.0 getestet (aus dem Git-Repository)
- Version 2.5 was tested on MediaWiki 1.22.9 (from git repository)
- Version 2.3 was tested on MediaWiki 1.22.0 (from git repository)
- Version 2.2 was tested on MediaWiki 1.22.0 (from git repository)
- Version 2.0 was tested on MediaWiki 1.19-alpha (from SVN repository)
- Version 1.2 was tested on MediaWiki 1.15.5-1 (from Debian repository)
- Version 1.1 was tested on MediaWiki 1.16.0(b3). Works fine, except that it needed a minor change to line 358 of AccessControl.php (remove '&' from parameter to
function controlEditAccess()
). When viewing a page on a Linux server, the<accesscontrol>
tags show. But on a Windows server, the tags don't show and it is fine! Still haven't figured that one out, but it is ok for my application. - Version 1.1 was tested on MediaWiki 1.15
- Version 1.0 of this extension has been tested and works fine on MediaWiki > 1.12.x.
- Version 1.1 tested on MediaWiki 1.16.1 with new patch from http://git.felk.cvut.cz/pub/git?p=accesscontrol.git;a=commitdiff;h=2f678deed0e4e4f77620e391c94559c7b50102a9
Siehe auch
- Zugriff verhindern
- Extension:Semantic ACL
- PageOwnership - Multi-layered permission manager, whole wiki or specific pages, with friendly interface
Anmerkungen
- ↑
Im Gegensatz zu Group Based Access Control werden keine Doppelkommas verwendet, um den Inhalt eines
<accesscontrol>
-Tags zu trennen, wenn mehrere Zugriffslisten verwendet werden. Es ist nur ein Komma erforderlich. Und es ist nicht notwendig, das Trennzeichen ',,' am Ende des Elementinhalts zu verwenden.
Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |
- Page specific user rights extensions/de
- Stable extensions/de
- User rights extensions/de
- Parser extensions/de
- Tag extensions/de
- GPL licensed extensions/de
- Extensions in Wikimedia version control/de
- EditPage::attemptSave extensions/de
- ModifyExportQuery extensions/de
- ParserBeforeStrip extensions/de
- ParserFirstCallInit extensions/de
- ShowSearchHit extensions/de
- GetUserPermissionsErrors extensions/de
- All extensions/de
- Extensions included in MyWikis/de