API:Restricting API usage/pt: Difference between revisions
Created page with "API: Restringir utilização da API" |
Created page with "Exatamente o que adicionar depende do tipo de módulo que deseja desativar:" |
||
| (18 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<languages /> |
<languages /> |
||
{{API}} |
{{API}} |
||
Há várias maneiras para restringir a utilização da (certas partes de) API para certos grupos de utilizadores, ou para a desativar por completo. |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">There are several ways to restrict usage of (certain parts of) the API to certain groups of users, or to disable it altogether.</span> |
|||
Alguns destes requerem [[Special:MyLanguage/Manual:User rights|alterar as permissões de grupo]]. |
|||
<span id="Disabling_general_access"></span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
== |
== Desativar acesso geral == |
||
Não há permissão de utilizador dedicada para aceder à API. |
|||
</div> |
|||
Para desativar o acesso da API para um grupo de utilizadores específico, pode desativar as permissões de <code>read</code> para esse grupo. |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">There is no dedicated user permission for accessing the API.</span> |
|||
Por exemplo, para não aceitar pedidos anónimos, |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">To disable API access for a specific user group, you can disable <code>read</code> permissions for that group.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">For instance, to disallow anonymous requests,</span> |
|||
<syntaxhighlight lang="php"> |
<syntaxhighlight lang="php"> |
||
| Line 15: | Line 14: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
Note que alguns módulos de API podem estar disponíveis independentemente. |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Note that some API modules may be available regardless.</span> |
|||
Se o acesso for impedido com sucesso, a saída da API geralmente mostrará o código de erro <code>readapidenied</code>. |
|||
<span id="Disabling_modules"></span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
== |
== Desativar módulos == |
||
Pode desativar módulos individuais para todos os utilizadores adicionando uma linha a <code>LocalSettings.php</code>. |
|||
</div> |
|||
Exatamente o que adicionar depende do tipo de módulo que deseja desativar: |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">You can disable individual modules for all users by adding a line to <code>LocalSettings.php</code>.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Exactly what to add depends on the type of module you want to disable:</span> |
|||
| ⚫ | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
* |
* Para módulos de <code>prop=</code>, utilize <code>{{ll|Manual:$wgAPIPropModules|$wgAPIPropModules}}['modulename'] = 'ApiQueryDisabled';</code> |
||
| ⚫ | |||
</div> |
|||
| ⚫ | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
| ⚫ | |||
</div> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
| ⚫ | |||
</div> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
| ⚫ | |||
</div> |
|||
<span id="Examples"></span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
=== |
=== Exemplos === |
||
</div> |
|||
| ⚫ | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
| ⚫ | |||
</div> |
|||
<syntaxhighlight lang="php"> |
<syntaxhighlight lang="php"> |
||
| Line 49: | Line 36: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
| ⚫ | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
| ⚫ | |||
</div> |
|||
<syntaxhighlight lang="php"> |
<syntaxhighlight lang="php"> |
||
| Line 68: | Line 53: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
| ⚫ | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
| ⚫ | |||
</div> |
|||
Latest revision as of 17:14, 11 November 2025
| Esta página faz parte da documentação da API de Ação do MediaWiki. |
Há várias maneiras para restringir a utilização da (certas partes de) API para certos grupos de utilizadores, ou para a desativar por completo. Alguns destes requerem alterar as permissões de grupo.
Desativar acesso geral
Não há permissão de utilizador dedicada para aceder à API.
Para desativar o acesso da API para um grupo de utilizadores específico, pode desativar as permissões de read para esse grupo.
Por exemplo, para não aceitar pedidos anónimos,
$wgGroupPermissions['*']['read'] = false;
Note que alguns módulos de API podem estar disponíveis independentemente.
Se o acesso for impedido com sucesso, a saída da API geralmente mostrará o código de erro readapidenied.
Desativar módulos
Pode desativar módulos individuais para todos os utilizadores adicionando uma linha a LocalSettings.php.
Exatamente o que adicionar depende do tipo de módulo que deseja desativar:
- Para módulos de
action=, utilize$wgAPIModules['modulename'] = 'ApiDisabled'; - Para módulos de
prop=, utilize$wgAPIPropModules['modulename'] = 'ApiQueryDisabled'; - Para módulos de
list=, utilize$wgAPIListModules['modulename'] = 'ApiQueryDisabled'; - Para módulos de
meta=, utilize$wgAPIMetaModules['modulename'] = 'ApiQueryDisabled';
Exemplos
Para desativar qualquer pessoa de utilizar action=edit:
$wgAPIModules['edit'] = 'ApiDisabled';
Para limitar o acesso de uma ação de API, adicione o seguinte hook para ApiCheckCanExecute:
static function onApiCheckCanExecute( $module, $user, &$message ) {
$moduleName = $module->getModuleName();
$permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
if (
$moduleName == 'action' &&
!$permissionManager->userHasRight( $user, 'right' )
) {
$message = 'apierror-action-notallowed';
return false;
}
return true;
}
Substitui 'action', 'right' e 'apierror-action-notallowed' com os valores apropriados.