API:Restricting API usage/ru
![]() |
Эта страница является частью документации по MediaWiki API. |
Язык: | English • Deutsch • 日本語 • polski • русский |
---|
- Руководство по быстрому старту
- ЧаВО (FAQ)
- Форматы
- Ошибки и предупреждения
- Ограничение использования
- Аутентификация
- Матрица проектов
- Запросы
- Развёртка шаблонов
- Очистка кэша страниц
- Информация о параметрах
- Редактирование
- Расширения с расширенным API
- Внутреннее использование
- Другое
- Разработка
- Клиентский код
- Примеры реализации
Существует несколько способов ограничить использование (определённых частей) API для определённых групп пользователей, либо отключить API полностью. Некоторые из них требуют изменения прав групп: для дальнейшей информации см. Manual:User rights.
Contents
Отключение всего API[edit | edit source]
Вы можете отключить API полностью, установив значение переменной $wgEnableAPI = false;
в LocalSettings.php. По умолчанию API включено.
Отключение записи через API[edit | edit source]
Вы можете отключить все модули записи, установив $wgEnableWriteAPI = false;
в LocalSettings.php. Запись через API по умолчанию отключена.
Ограничение доступа к записи через API[edit | edit source]
Вы можете запретить определённым группам использование записи через API, отключив у них право writeapi. По умолчанию, все группы обладают правом writeapi. Несмотря на это, для использования записи необходимы как право writeapi, так и $wgEnableWriteAPI = true;
.
Отключение модулей[edit | edit source]
Вы можете отключить определённые модули для всех пользователей, добавив необходимую строку в LocalSettings.php:
- Для модулей
action=
, используйте$wgAPIModules['modulename'] = 'ApiDisabled';
- Для модулей
prop=
, используйте$wgAPIPropModules['modulename'] = 'ApiQueryDisabled';
- Для модулей
list=
, используйте$wgAPIListModules['modulename'] = 'ApiQueryDisabled';
- Для модулей
meta=
, используйте$wgAPIMetaModules['modulename'] = 'ApiQueryDisabled';
Пример[edit | edit source]
Чтобы не дать всем, кто не является администратором, использовать action=edit
:
if ( !in_array( 'sysop', $wgUser->getGroups() ) ) { $wgAPIModules['edit'] = 'ApiDisabled'; }