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

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

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

XML-RPC поддерживает удалённый доступ к сайту через API, что удобно для разработчиков и мобильных приложений. Но если вы не используете внешние приложения для работы с сайтом, отключение XML-RPC поможет значительно снизить риски взлома и снизит нагрузку на сервер.

Частые проблемы с XML-RPC включают:

  • Атаки brute force — злоумышленники пытаются подобрать пароли, используя xmlrpc.php
  • DDoS-атаки через многократные запросы к этому файлу
  • Использование уязвимостей в плагинах через XML-RPC методы

Именно поэтому важно понимать, как отключить эту функциональность в WordPress.

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

Чтобы проверить, включён ли XML-RPC, достаточно открыть в браузере URL https://ваш_сайт.ru/xmlrpc.php. Если вы увидите ответ XML-RPC server accepts POST requests only., значит, сервис активен.

Также можно сделать тестовый POST-запрос с помощью curl:

curl -d '' https://ваш_сайт.ru/xmlrpc.php

Если в ответ придет ошибка, значит файл доступен. Если сервер вернёт 403 или 404, то XML-RPC отключен или заблокирован.

Способы отключения XML-RPC в WordPress

1. Отключение через functions.php

Самый простой и безопасный способ — добавить фильтр, который запретит доступ к XML-RPC:

function wp8_disable_xmlrpc() {
    return false;
}
add_filter('xmlrpc_enabled', 'wp8_disable_xmlrpc');

Этот код нужно добавить в файл functions.php вашей активной темы или в плагин для кастомных функций. После этого WordPress перестанет обрабатывать xmlrpc.php.

2. Блокировка через .htaccess

Если ваш сайт работает на Apache, можно заблокировать доступ к xmlrpc.php на уровне веб-сервера. Для этого добавьте в файл .htaccess корня сайта следующий код:

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

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

3. Использование плагинов

Если вы предпочитаете не трогать код, можно использовать плагины для отключения XML-RPC:

  • Disable XML-RPC — простой и легковесный плагин, полностью отключающий XML-RPC.
  • Clearfy — мощный плагин для оптимизации и безопасности, в котором есть опция отключения XML-RPC.

Для установки плагина используйте стандартную процедуру через админку WordPress или скачайте с WPSHOP.

Пример реализации функции отключения XML-RPC с логированием попыток доступа

Если вы хотите не просто отключить XML-RPC, а ещё и отслеживать попытки к нему обращаться, можно расширить код так:

function wp8_disable_xmlrpc_with_log() {
    if (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) {
        error_log('Попытка обращения к XML-RPC: ' . $_SERVER['REMOTE_ADDR']);
        wp_die('Доступ к XML-RPC запрещён.');
    }
}
add_action('init', 'wp8_disable_xmlrpc_with_log');

Этот код проверяет, если запрос — XML-RPC, то он записывает IP адрес в лог и останавливает выполнение с сообщением.

Что делать, если XML-RPC нужен для приложений

Если вы используете мобильные приложения или внешние сервисы, которые требуют XML-RPC, можно ограничить доступ к нему только с определённых IP или по другим параметрам. Например, через .htaccess разрешить доступ только с IP вашего сервера или офиса:

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

Где 123.123.123.123 — IP, которому разрешён доступ.

Заключение

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

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

Как отключить XML-RPC в WordPress для повышения безопасности
12.02.2026
Как создать собственный шорткод в WordPress с примером кода
03.11.2025
Как создать собственный виджет в WordPress с примерами кода
09.01.2026
Как сделать отложенный запуск функции в WordPress: практические примеры и код
23.02.2026
Как сделать просмотр видео в AJAX на WordPress
26.02.2026