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, рекомендуется:
- обновить WordPress и Jetpack до последних версий;
- проверить настройки подключения к WordPress.com;
- временно включить XML-RPC и определить, связано ли это с конкретной функцией;
- обратиться к документации 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.

