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

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

Что такое XML-RPC и зачем он нужен в WordPress

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

Однако с ростом популярности WordPress, XML-RPC стал объектом массовых атак. Злоумышленники используют протокол для перебора паролей, проведения DDoS-атак и обхода ограничений по IP.

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

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

Для проверки доступности XML-RPC можно отправить POST-запрос на https://ваш-сайт.ru/xmlrpc.php. Если сервер отвечает 405 или 200, значит протокол активен.

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

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

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

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

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

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

2. Отключение через .htaccess (для Apache)

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

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

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

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

3. Использование плагинов для отключения XML-RPC

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

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

Когда отключать XML-RPC не стоит

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

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

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

Если вы знаете IP-адреса, с которых должны приходить легитимные запросы, можно разрешить доступ только с них. Для Apache в .htaccess:

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

Замените 123.45.67.89 и 98.76.54.32 на нужные IP.

Заключение

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

WooCommerce: как автоматически удалять заказы после их архивирования
18.05.2026
Как создать динамическую таблицу в WordPress с использованием PHP и плагинов
29.11.2025
Как удалить версию WordPress из HTML кода сайта
21.11.2025
Как удалить пустые категории в WordPress с помощью кода
08.04.2026
WooCommerce: как автоматически удалять товары после продажи
15.05.2026