Jump to content

API:Omezení použití API

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

Existuje několik způsobů, jak omezit používání (určitých částí) API na určité skupiny uživatelů nebo je úplně zakázat. Některé z nich vyžadují změnu oprávnění skupiny.

Omezení přístupu k API pro zápis

Určitým skupinám můžete odepřít právo používat rozhraní API pro zápis tím, že jim odepřete právo writeapi. Ve výchozím nastavení mají všechny skupiny právo writeapi.


Deaktivace modulů

Jednotlivé moduly můžete zakázat všem uživatelům přidáním řádku do LocalSettings.php. Co přesně přidat závisí na typu modulu, který chcete deaktivovat:

Příklady

Chcete-li zakázat použití action=edit komukoli, kdo není sysop:

if ( !in_array( 'sysop', $wgUser->getGroups() ) ) {
	$wgAPIModules['edit'] = 'ApiDisabled';
}

Chcete-li omezit přístup k akci API, přidejte následující háček pro 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;
}

Nahraďte 'action', 'right' a 'apierror-action-notallowed' příslušnými hodnotami.