API:API kullanımını kısıtlama
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
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.
Yazma API'sine erişimi kısıtlama
Belirli gruplara writeapi hakkını reddederek yazma API'sini kullanma hakkını reddedebilirsiniz. Varsayılan olarak, tüm grupların writeapi hakkı vardır.
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ınprop=
modülleri için,$wgAPIPropModules ['modulename'] = 'ApiQueryDisabled';
kullanınlist=
modülleri için,$wgAPIListModules ['modulename'] = 'ApiQueryDisabled';
kullanınmeta=
modülleri için,$wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled';
kullanın
Örnekler
Hizmetli olmayanların action=edit
kullanmasını devre dışı bırakmak için:
if ( !in_array( 'sysop', $wgUser->getGroups() ) ) {
$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();
if (
$moduleName == 'action' &&
!in_array( 'right', $user->getRights() )
) {
$message = 'apierror-action-notallowed';
return false;
}
return true;
}
'action'
, 'right'
ve 'apierror-action-notallowed'
ile uygun değerlerle değiştirin.