Как отключить XML-RPC в WordPress для защиты сайта

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

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

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

Но у XML-RPC есть серьёзные недостатки с точки зрения безопасности:

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

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

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

Рассмотрим несколько вариантов отключения XML-RPC — от простых до более гибких, с примерами кода.

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

Самый простой способ — добавить в файл functions.php активной темы следующий код. Он полностью блокирует доступ к XML-RPC API и возвращает ошибку 403:

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

Этот код отключает XML-RPC, не затрагивая остальной функционал сайта.

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

Если сервер использует Apache, можно блокировать доступ на уровне веб-сервера, добавив в .htaccess в корне сайта:

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

Это самый эффективный способ блокировки, который снижает нагрузку, так как запросы даже не доходят до PHP.

3. Использование плагинов для управления XML-RPC

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

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

Как проверить, включён ли XML-RPC и работает ли блокировка

Проверить статус XML-RPC можно несколькими способами:

  • Попробовать открыть https://ваш-сайт.ru/xmlrpc.php в браузере — если видна надпись XML-RPC server accepts POST requests only., значит сервис активен.
  • Использовать онлайн-инструменты, например https://xmlrpc.eritreo.it/, которые проверяют доступность XML-RPC.
  • Пользоваться плагинами безопасности, которые ведут логи попыток доступа.

После отключения при обращении к xmlrpc.php должна возвращаться ошибка 403 или пустой ответ.

Когда отключать XML-RPC не стоит: альтернативные решения

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

Ограничение доступа по IP

Например, можно разрешить доступ только с определённых IP-адресов, через .htaccess:

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

Это позволит пользоваться нужным функционалом и защитит сайт от большинства атак.

Отключение уязвимых методов XML-RPC

Можно отключить только самые опасные методы, например system.multicall, оставив остальные. Для этого добавим код в functions.php:

function wpcheck_filter_xmlrpc_methods($methods) {
    if(isset($methods['system.multicall'])) {
        unset($methods['system.multicall']);
    }
    return $methods;
}
add_filter('xmlrpc_methods', 'wpcheck_filter_xmlrpc_methods');

Это хороший компромисс между безопасностью и функционалом.

Выводы и рекомендации

Отключение XML-RPC — важный шаг для повышения безопасности WordPress-сайта, особенно если вы не используете удалённый доступ. Лучше всего комбинировать методы блокировки: отключить на уровне кода, заблокировать в .htaccess и при необходимости использовать специализированные плагины, например Clearfy Pro.

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

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как удалить неиспользуемые типы постов в WordPress: практические способы и примеры
09.03.2026
Как настроить логирование ошибок в WordPress для удобного отладки
14.01.2026
Как создать собственный шорткод в WordPress: практическое руководство с примерами кода
27.11.2025
Как настроить проверку активности плагинов WordPress с кодом
02.01.2026
Как использовать REST API в WordPress для создания надёжных приложений
04.12.2025
×
WPShop
партнерка без «но»!

До 3225₽ за каждую продажу

Подключиться к игре