API:Omezení použití API
![]() | Tato stránka je součástí dokumentace k API Action MediaWiki. |
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.
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'.
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:
- Pro moduly
action=
použijte$wgAPIModules ['modulename'] = 'ApiDisabled';
- Pro moduly
prop=
použijte$wgAPIPropModules ['modulename'] = 'ApiQueryDisabled';
- Pro moduly
list=
použijte$wgAPIListModules ['modulename'] = 'ApiQueryDisabled';
- Pro moduly
meta=
použijte$wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled';
Příklady
Chcete-li komukoli zakázat používání action=edit
:
$wgAPIModules['edit']='ApiDisabled';
Chcete-li omezit přístup k akci API, přidejte následující háček pro ApiCheckCanExecute :
staticfunctiononApiCheckCanExecute($module,$user,&$message){$moduleName=$module->getModuleName();if($moduleName=='action'&&!in_array('right',$user->getRights())){$message='apierror-action-notallowed';returnfalse;}returntrue;}
Nahraďte 'action'
, 'right'
a 'apierror-action-notallowed'
příslušnými hodnotami.