API:Restricting API usage/de
![]() | Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
There are several ways to restrict usage of (certain parts of) the API to certain groups of users, or to disable it altogether. Some of these require changing group permissions.
Deaktivieren der gesamten API
You can disable the API as a whole by setting $wgEnableAPI = false;
in LocalSettings.php .
The API is enabled by default.
Deaktivieren der Schreib-API
You can disable all write modules by setting $wgEnableWriteAPI = false;
in LocalSettings.php.
The write API is enabled by default as of MediaWiki 1.14, and disabled by default in older versions.
Zugriff auf die Schreib-API einschränken
You can deny certain groups the right to use the write API by denying them the writeapi right.
By default, all groups have the writeapi right.
However, both the writeapi right and $wgEnableWriteAPI = true;
are required in order to use the write API.
Module deaktivieren
You can disable individual modules for all users by adding a line to LocalSettings.php. Exactly what to add depends on the type of module you want to disable:
- Für
action=
Module, benutze$wgAPIModules ['modulename'] = 'ApiDisabled';
- For
prop=
modules, use$wgAPIPropModules ['modulename'] = 'ApiQueryDisabled';
- For
list=
modules, use$wgAPIListModules ['modulename'] = 'ApiQueryDisabled';
- For
meta=
modules, use$wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled';
Beispiel
To disable anyone who isn't a sysop from using action=edit
:
if ( !in_array( 'sysop', $wgUser->getGroups() ) ) {
$wgAPIModules['edit'] = 'ApiDisabled';
}
To limit the access of an API action, add the following hook for ApiCheckCanExecute :
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;
}
Replace 'action'
, 'right'
and 'apierror-action-notallowed'
with the appropriate values.