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

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

Почему важно отключать XML-RPC в WordPress

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

  • Брутфорс логина через system.multicall — позволяет пробовать тысячи паролей за один запрос.
  • DDoS-атаки с помощью xmlrpc.php.
  • Спам-рассылки через удалённые публикации.

Если вы не используете мобильное приложение WordPress или внешние сервисы, которые требуют XML-RPC, его лучше полностью отключить.

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

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

Самый простой способ — добавить код в файл functions.php активной темы. Этот код полностью блокирует доступ к xmlrpc.php:

function wpgpt_disable_xmlrpc() {
    add_filter('xmlrpc_enabled', '__return_false');
}
add_action('init', 'wpgpt_disable_xmlrpc');

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

2. Отключение на уровне .htaccess (Apache)

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

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

Это жестко блокирует все запросы к XML-RPC, возвращая ошибку 403 Forbidden.

3. Отключение на уровне Nginx

Для сайтов на Nginx в конфигурацию сервера добавьте:

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

После перезагрузки Nginx этот файл перестанет обрабатываться клиентами.

Плагины для управления XML-RPC

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

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

Использование плагина удобно для тех, кто предпочитает GUI и не хочет вносить изменения вручную.

Проверка, что XML-RPC отключен

После применения одного из способов важно проверить, что XML-RPC действительно не работает. Для этого откройте в браузере https://ваш-сайт.ru/xmlrpc.php. Если вы видите сообщение XML-RPC server accepts POST requests only. — значит протокол включен. Если вы получаете 403 или 404 — значит отключение прошло успешно.

Также можно использовать онлайн-инструменты для проверки уязвимости XML-RPC или плагины безопасности, например, Wordfence.

Пример комплексного решения для жесткого отключения XML-RPC

Для максимальной защиты рекомендую применить все три уровня:

  1. Добавьте в functions.php фильтр для отключения в WordPress.
  2. Настройте сервер (htaccess или nginx).
  3. Поставьте плагин для удобства управления и мониторинга.

Так вы защитите сайт от большинства атак, связанных с XML-RPC, без ущерба для производительности и безопасности.

Заключение: стоит ли отключать XML-RPC?

Если вы не используете мобильное приложение WordPress, Jetpack (который тоже требует XML-RPC), интеграции с внешними сервисами, то отключение XML-RPC — хороший практический шаг для повышения безопасности. В противном случае стоит подумать о более тонкой настройке или использовать плагины с функцией ограничения доступа к XML-RPC только для нужных IP и сервисов.

Используйте описанные методы и инструменты из Clearfy Pro и WPRemark для надежной защиты вашего WordPress сайта.

Автоматический перевод постов в WordPress с помощью ChatGPT
02.01.2026
WooCommerce: автоматическое изменение заказов при изменении стоимости доставки
30.04.2026
Как создать автоматический генератор вопросов для квиза на WordPress с помощью WPGPT
08.02.2026
Как создать автоматический анализатор оценок в отзывах WordPress с помощью PHP и WPGPT
01.02.2026
Как добавить произвольные поля в REST API WordPress
30.11.2025