API:Einschränkung der API-Nutzung

This page is a translated version of the page API:Restricting API usage and the translation is 100% complete.

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.

Zugriff auf die Schreib-API einschränken

Du kannst bestimmten Gruppen das Recht zur Nutzung der Schreib-API entziehen, indem du ihnen das Recht writeapi entziehst. Standardmäßig haben alle Gruppen das Recht writeapi.


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:

Beispiele

Um es für alle zu deaktivieren, die keine Administratoren sind, nutze action=edit:

if ( !in_array( 'sysop', $wgUser->getGroups() ) ) {
	$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.