Как отключить XML-RPC в WordPress для повышения безопасности

XML-RPC — это протокол, который используется для взаимодействия с WordPress удаленно, например, для публикации записей из мобильных приложений или внешних сервисов. Несмотря на пользу, он часто становится причиной проблем с безопасностью, поскольку используется злоумышленниками для атак типа brute force, DDoS и других видов взлома.

Что такое XML-RPC и почему его стоит отключить

XML-RPC — это API, который позволяет удаленно управлять сайтом WordPress. Он включен по умолчанию и доступен по адресу https://ваш-сайт.ru/xmlrpc.php. Эта технология удобна для некоторых, но если вы не используете внешние приложения для публикации или управления сайтом, лучше отключить XML-RPC для снижения рисков.

Основные угрозы при активном XML-RPC:

  • Атаки перебором паролей (brute force) через метод system.multicall;
  • Увеличение нагрузки на сервер из-за массовых запросов;
  • Возможность использования уязвимостей в самом протоколе или плагинах.

Отключение XML-RPC поможет существенно повысить безопасность без потери функционала, если вы не используете удаленное управление.

Как проверить, активен ли XML-RPC на сайте

Для проверки откройте в браузере URL https://ваш-сайт.ru/xmlrpc.php. Если видите сообщение «XML-RPC server accepts POST requests only.», значит сервис активен. Если страница возвращает 404 или 403, значит XML-RPC отключен или заблокирован.

Также можно использовать инструменты безопасности и сканеры уязвимостей, чтобы убедиться, что этот сервис не доступен для злоумышленников.

Отключение XML-RPC в WordPress через код

Самый простой способ — добавить фильтр, который полностью отключит XML-RPC. В файл functions.php вашей темы или в плагин для кастомных функций вставьте следующий код:

add_filter('xmlrpc_enabled', '__return_false');

Этот фильтр отключает поддержку XML-RPC на уровне ядра WordPress, что эффективно блокирует все запросы к xmlrpc.php.

Если вам нужно частично ограничить доступ, например, разрешить только определенным IP, можно использовать хук xmlrpc_call для проверки и прерывания вызовов.

Пример ограничения доступа по IP

function wpskill_restrict_xmlrpc_access() {
    $allowed_ips = ['123.45.67.89', '98.76.54.32'];
    if (!in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) {
        status_header(403);
        exit('Доступ запрещен');
    }
}
add_action('xmlrpc_call', 'wpskill_restrict_xmlrpc_access');

В этом примере доступ к XML-RPC получат только IP из массива $allowed_ips.

Отключение XML-RPC с помощью плагинов

Если вы не хотите работать с кодом, можно воспользоваться плагинами:

  • Disable XML-RPC — простой плагин, который отключает XML-RPC одним кликом.
  • Clearfy (https://wpshop.ru/clearfy-pro?utm_source=wpskill.ru&utm_medium=article&utm_campaign=kak-otklyuchit-xml-rpc-v-wordpress-dlya-povysheniya-bezopasnosti) — многофункциональный плагин для оптимизации и безопасности, в том числе умеет отключать XML-RPC и другие неиспользуемые функции WordPress.

Плагины хороши, если вы хотите быстро и без риска править код, а также получить дополнительные опции для защиты сайта.

Блокировка XML-RPC на уровне сервера

Для дополнительной защиты можно заблокировать доступ к xmlrpc.php через настройки сервера или .htaccess. Например, для Apache добавьте в .htaccess:

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

Или для nginx в конфигурации сайта:

location = /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
}

Эти меры эффективны, если по каким-то причинам WordPress не смог отключить XML-RPC, или вы хотите защититься от обхода на уровне веб-сервера.

Проверка после отключения и рекомендации

После внесения изменений обязательно проверьте, что протокол действительно отключен. Для этого можно повторно зайти на https://ваш-сайт.ru/xmlrpc.php или использовать специализированные сканеры безопасности.

Если вы используете приложения для публикации или внешние сервисы, убедитесь, что они работают корректно без XML-RPC, либо настройте исключения.

В целом отключение XML-RPC — простой и эффективный способ повысить безопасность WordPress-сайта без ущерба производительности и функционала.

Как удалить вредоносные скрипты с сайта WordPress: эффективные методы и инструменты
08.12.2025
Как создать автоматический резервный копий WordPress с помощью WP-Cron
11.02.2026
Как добавить автоматическое обновление трансляции видео в WordPress
21.01.2026
Как использовать REST API в WordPress для начинающих
18.11.2025
Как сделать защиту от bruteforce в WordPress с помощью плагинов и кода
25.03.2026