API:Restricting API usage/de
![]() | Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
Es gibt mehrere Wege, um die Nutzung der API (oder Teilen davon) auf bestimmte Benutzergruppen einzuschränken oder komplett zu deaktivieren. Einige davon erfordern die Änderung von Benutzergruppenrechten.
Disabling general access
There is no dedicated user permission for accessing the API. To disable API access for a specific user group, you can disable read
permissions for that group. For instance, to disallow anonymous requests,
$wgGroupPermissions['*']['read'] = false;
Note that some API modules may be available regardless. If access is successfully prevented, the API output will usually show the error code 'readapidenied'.
Module deaktivieren
Du kannst bestimmte Module für alle Benutzer deaktivieren, indem du eine Zeile zu LocalSettings.php
hinzufügst.
Was exakt du hinzufügen musst, hängt von dem Typ des Moduls ab, das du deaktivieren möchtest:
- Für
action=
Module, benutze$wgAPIModules ['modulename'] = 'ApiDisabled';
- Für
prop=
Module, benutze$wgAPIPropModules ['modulename'] = 'ApiQueryDisabled';
- Für
list=
Module, benutze$wgAPIListModules ['modulename'] = 'ApiQueryDisabled';
- Für
meta=
Module, benutze$wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled';
Beispiele
Um es für alle zu deaktivieren, die keine Administratoren sind, nutze action=edit
:
$wgAPIModules['edit'] = 'ApiDisabled';
Um den Zugriff auf eine API-Aktion einzuschränken, füge folgende Hook zu ApiCheckCanExecute hinzu:
static function onApiCheckCanExecute( $module, $user, &$message ) {
$moduleName = $module->getModuleName();
if (
$moduleName == 'action' &&
!in_array( 'right', $user->getRights() )
) {
$message = 'apierror-action-notallowed';
return false;
}
return true;
}
Ersetze 'action'
, 'right'
und 'apierror-action-notallowed'
durch die passenden Werte.