Jump to content
MediaWiki

API:API kullanımını kısıtlama

From mediawiki.org
This page is a translated version of the page API:Restricting API usage and the translation is 72% complete.
Outdated translations are marked like this.
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır.
MediaWiki Eylem API'si
Temeller
Doğrulama
Hesaplar ve Kullanıcılar
Sayfa İşlemleri
Ara
Geliştirici Araçları
Eğitimler
g · t · d

API'nın kullanımını (belirli bölümlerini) belirli kullanıcı gruplarıyla kısıtlamanın veya tamamen devre dışı bırakmanın birkaç yolu vardır. Bunlardan bazıları için değişen grup izinleri gereklidir.

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'.

Modülleri devre dışı bırakma

LocalSettings.php dosyasına bir satır ekleyerek tüm kullanıcılar için ayrı modülleri devre dışı bırakabilirsiniz. Tam olarak ne ekleyeceğiniz, devre dışı bırakmak istediğiniz modülün türüne bağlıdır:

  • action= modülleri için, $wgAPIModules ['modulename'] = 'ApiDisabled'; kullanın
  • prop= modülleri için, $wgAPIPropModules ['modulename'] = 'ApiQueryDisabled'; kullanın
  • list= modülleri için, $wgAPIListModules ['modulename'] = 'ApiQueryDisabled'; kullanın
  • meta= modülleri için, $wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled'; kullanın

Örnekler

Hizmetli olmayanların action=edit kullanmasını devre dışı bırakmak için:

$wgAPIModules['edit'] = 'ApiDisabled';

Bir API eyleminin erişimini sınırlamak için, ApiCheckCanExecute için aşağıdaki kancayı ekleyin:

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;
}

'action', 'right' ve 'apierror-action-notallowed' ile uygun değerlerle değiştirin.

AltStyle によって変換されたページ (->オリジナル) /