API:Restricting API usage/es
![]() | Esta página es parte de la documentación de la API de acciones de MediaWiki. |
Hay varias maneras de restringir el uso de (ciertas partes de) el API a ciertos grupos de usuarios, o deshabilitarla por completo. Algunos de estos requieren cambiar los permisos de grupo.
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'.
Deshabilitar módulos
Puedes deshabilitar módulos individuales para todos los usuarios agregando una línea a LocalSettings.php
.
Exactamente qué añadir, depende del tipo de módulo que desee deshabilitar:
- Para módulos
action=
, use$wgAPIModules ['modulename'] = 'ApiDisabled';
- Para módulos
prop=
, use$wgAPIPropModules ['modulename'] = 'ApiQueryDisabled';
- Para módulos
list=
, use$wgAPIListModules ['modulename'] = 'ApiQueryDisabled';
- Para módulos
meta=
, use$wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled';
Ejemplo
Para deshabilitar a cualquiera que no sea un sysop usando action=edit
:
$wgAPIModules['edit'] = 'ApiDisabled';
Para limitar el acceso de una acción de API, agrega el siguiente enlace para 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;
}
Reemplaza 'action'
, 'right'
y 'apierror-action-notallowed'
con los valores apropiados.