XML-RPC в WordPress — что это такое, как проверить и безопасно отключить

Что такое XML-RPC в WordPress

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

Файл XML-RPC располагается по адресу:

https://example.com/xmlrpc.php

Через него можно:

  • публиковать и редактировать записи;
  • загружать изображения;
  • управлять комментариями;
  • выполнять удалённую авторизацию;
  • взаимодействовать с внешними сервисами.

До появления WordPress REST API XML-RPC был основным способом удалённого управления сайтом.

Содержание скрыть

Какие сервисы используют XML-RPC

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

К таким относятся:

  • мобильное приложение WordPress;
  • некоторые старые настольные редакторы блогов;
  • устаревшие CMS-интеграции;
  • отдельные системы автоматизации публикаций;
  • некоторые плагины, разработанные несколько лет назад.

Большинство современных решений уже перешли на REST API, поэтому зависимость от XML-RPC встречается всё реже.


XML-RPC и Jetpack

Ранее плагин Jetpack активно использовал XML-RPC для связи сайта с серверами WordPress.com. Это было необходимо для работы таких функций, как статистика, удалённое управление, резервное копирование и защита.

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

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

  1. обновить WordPress и Jetpack до последних версий;
  2. проверить настройки подключения к WordPress.com;
  3. временно включить XML-RPC и определить, связано ли это с конкретной функцией;
  4. обратиться к документации Jetpack, чтобы убедиться, что используемая возможность поддерживает REST API.

XML-RPC и мобильное приложение WordPress

Официальное мобильное приложение WordPress долгое время использовало XML-RPC для управления сайтами.

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

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

  • обновлён ли WordPress;
  • обновлено ли само приложение;
  • не отключён ли REST API;
  • отсутствуют ли ограничения со стороны плагинов безопасности или веб-сервера.

Как определить, используется ли XML-RPC

Перед отключением желательно убедиться, что файл xmlrpc.php действительно не нужен вашему сайту.

Обратите внимание на следующие признаки:

  • отсутствуют мобильные приложения, подключённые к сайту;
  • не используются программы для удалённой публикации материалов;
  • нет старых интеграций с CRM, ERP или другими сервисами;
  • в логах сервера практически отсутствуют обращения к xmlrpc.php, кроме подозрительных запросов.

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


Как посмотреть обращения к xmlrpc.php

Самый простой способ — изучить журналы веб-сервера.

Для Apache:

/var/log/apache2/access.log

или

/var/log/httpd/access_log

Для Nginx:

/var/log/nginx/access.log

Найти обращения можно командой:

grep "xmlrpc.php" access.log

или

grep "POST /xmlrpc.php" access.log

На большинстве сайтов обнаруживается большое количество автоматических запросов от ботов.


Пример атаки на XML-RPC

Ниже приведён типичный фрагмент журнала доступа:

192.0.2.15 - - [09/Jul/2026:14:52:17 +0000] "POST /xmlrpc.php HTTP/1.1" 200 426 "-" "Mozilla/5.0"

198.51.100.42 - - [09/Jul/2026:14:52:18 +0000] "POST /xmlrpc.php HTTP/1.1" 200 426 "-" "python-requests/2.32"

203.0.113.88 - - [09/Jul/2026:14:52:18 +0000] "POST /xmlrpc.php HTTP/1.1" 200 426 "-" "-"

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


Как заблокировать атаки на XML-RPC

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

Возможные меры защиты:

  • разрешить доступ только с определённых IP-адресов;
  • использовать Web Application Firewall (WAF);
  • ограничить количество запросов (Rate Limiting);
  • включить защиту от перебора паролей;
  • использовать CAPTCHA для страницы входа;
  • установить плагины безопасности с защитой от XML-RPC-атак.

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


XML-RPC и REST API: основные отличия

XML-RPC REST API
Использует XML Использует JSON
Все запросы отправляются через xmlrpc.php Использует множество отдельных маршрутов (/wp-json/)
Более сложный формат запросов Более простой и читаемый формат
Ограниченные возможности аутентификации Современные методы авторизации (Application Passwords, OAuth, JWT и др.)
Практически не развивается Активно развивается и поддерживается
Предназначен в основном для совместимости со старыми системами Рекомендуется для всех новых проектов

Именно поэтому большинство современных плагинов, мобильных приложений и внешних сервисов используют REST API вместо XML-RPC.

Какие риски несёт XML-RPC

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

Наиболее распространённые проблемы:

Brute Force

Через метод system.multicall злоумышленник может отправить сразу десятки или сотни попыток авторизации в одном запросе.

Это позволяет значительно ускорить подбор пароля по сравнению с обычной страницей входа.


DDoS через Pingback

Метод pingback.ping может использоваться для организации распределённых атак на сторонние сайты.

Именно поэтому многие хостинги рекомендуют отключать XML-RPC.


Лишняя точка входа

Если XML-RPC не используется, то файл xmlrpc.php становится ещё одной потенциальной точкой входа для атак.

Любой ненужный сервис лучше отключать.


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

Откройте в браузере:

https://example.com/xmlrpc.php

Если отображается сообщение:

XML-RPC server accepts POST requests only.

значит XML-RPC доступен.

Если вместо этого возвращается ошибка:

  • 403 Forbidden;
  • 404 Not Found;
  • 401 Unauthorized;

то доступ уже ограничен или полностью отключён.

Также можно выполнить проверку через терминал:

curl https://example.com/xmlrpc.php

или

curl -I https://example.com/xmlrpc.php

Нужно ли отключать XML-RPC

В большинстве современных проектов — да.

Если вы:

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

то этот функционал можно безопасно отключить.

Если же используются старые интеграции или специализированное программное обеспечение, сначала следует убедиться, что оно поддерживает REST API.


Как отключить XML-RPC

Способ 1. Через WordPress

Добавьте в файл functions.php темы или в собственный плагин:

add_filter('xmlrpc_enabled', '__return_false');

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


Способ 2. Через Apache (.htaccess)

Самый эффективный способ для Apache.

<Files "xmlrpc.php">
    Require all denied
</Files>

Для старых версий Apache:

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

После этого сервер будет возвращать ошибку 403.


Способ 3. Через Nginx

Добавьте правило:

location = /xmlrpc.php {
    deny all;
}

или

location = /xmlrpc.php {
    return 403;
}

После изменения конфигурации необходимо выполнить:

sudo nginx -t
sudo systemctl reload nginx

Способ 4. Через плагины безопасности

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

Например:

  • Wordfence;
  • All In One WP Security;
  • iThemes Security;
  • Solid Security.

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

После внесения изменений снова откройте:

https://example.com/xmlrpc.php

Если сервер возвращает:

  • 403 Forbidden;
  • 404 Not Found;

значит доступ успешно заблокирован.


XML-RPC или REST API

Сегодня REST API практически полностью заменил XML-RPC.

REST API предоставляет:

  • более высокую производительность;
  • современную систему авторизации;
  • удобную интеграцию с приложениями;
  • поддержку большинства современных сервисов;
  • активное развитие WordPress.

Поэтому новые проекты рекомендуется строить именно на REST API.


Заключение

XML-RPC сыграл важную роль в развитии WordPress и долгое время был единственным способом удалённого управления сайтом.

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

Оптимальным решением считается блокировка файла xmlrpc.php на уровне веб-сервера (Apache или Nginx), а при необходимости — дополнительное отключение XML-RPC средствами WordPress.


FAQ

Что такое XML-RPC в WordPress?

Это протокол удалённого взаимодействия с сайтом, позволяющий публиковать записи, управлять комментариями и выполнять другие действия без входа в административную панель.

Где находится XML-RPC?

По адресу: https://example.com/xmlrpc.php HTML

Опасен ли XML-RPC?

Сам по себе нет. Однако злоумышленники могут использовать его для перебора паролей, атак через Pingback и других видов злоупотреблений.

Можно ли удалить файл xmlrpc.php?

Нет. Это системный файл WordPress. Вместо удаления рекомендуется заблокировать к нему доступ или отключить XML-RPC штатными средствами.

Повлияет ли отключение XML-RPC на работу сайта?

Для большинства современных сайтов — нет. Если не используются старые приложения или сервисы, функциональность сайта не изменится.

Что лучше использовать — XML-RPC или REST API?

Для новых проектов рекомендуется REST API. Он безопаснее, быстрее и активно развивается.

Как проверить, используется ли XML-RPC?

Если вы не используете мобильное приложение WordPress, старые программы для публикации записей или специализированные интеграции, то, скорее всего, XML-RPC не используется. Дополнительно можно проверить журналы веб-сервера на наличие обращений к файлу xmlrpc.php

Какой способ отключения наиболее надёжен?

Наиболее эффективным считается блокирование доступа к xmlrpc.php на уровне веб-сервера (Apache или Nginx). Это предотвращает любые обращения к файлу ещё до обработки запросов WordPress.