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

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

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

XML-RPC — это удалённый вызов процедур (Remote Procedure Call), который реализован в WordPress для взаимодействия с внешними сервисами. Он включён по умолчанию и доступен по адресу https://ваш-сайт.ru/xmlrpc.php.

XML-RPC используется для:

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

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

Почему стоит отключить XML-RPC: основные угрозы

XML-RPC часто становится уязвимостью по следующим причинам:

  • Атаки перебором паролей (Brute Force): злоумышленники могут использовать метод system.multicall для многократной отправки запросов с попытками подобрать пароль;
  • DDoS-атаки: XML-RPC позволяет отправлять множество запросов с одного IP, что может привести к перегрузке сервера;
  • Использование уязвимостей в плагинах и темах: некоторые плагины используют XML-RPC, и при неправильной настройке они могут быть скомпрометированы;
  • Недостаток контроля доступа: по умолчанию XML-RPC открыт и не ограничен по IP или другим параметрам.

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

Как отключить XML-RPC в WordPress: 3 простых способа

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

В файл functions.php вашей активной темы добавьте следующий код, чтобы полностью заблокировать доступ к xmlrpc.php:

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

Этот фильтр отключит обработку XML-RPC на уровне ядра WordPress.

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

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

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

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

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

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

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

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

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

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

Дополнительные меры безопасности для XML-RPC

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

Если вы используете XML-RPC, но хотите ограничить доступ только с определённых IP-адресов, добавьте в .htaccess:

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

Замените 123.123.123.123 на IP, с которого разрешён доступ.

Мониторинг активности XML-RPC

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

Использование двухфакторной аутентификации

Если отключать XML-RPC нельзя, обязательно настройте двухфакторную аутентификацию (2FA) для пользователей с правами администратора. Это значительно повысит безопасность и защитит от перебора паролей.

Пример функции для wpupdate.ru: отключение XML-RPC и логирование попыток доступа

function wpupdate_disable_xmlrpc_with_log() {
    if (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) {
        error_log('Попытка доступа к XML-RPC запрещена: ' . $_SERVER['REMOTE_ADDR']);
        wp_die('Доступ к XML-RPC отключён.', '403 Forbidden', array('response' => 403));
    }
}
add_action('init', 'wpupdate_disable_xmlrpc_with_log');

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

Заключение

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

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

⭐⭐⭐⭐⭐
Как создать динамический виджет в WordPress с примерами кода
19.12.2025
Как отключить автообновления в WordPress: пошаговое руководство с примерами
25.01.2026
WooCommerce: решение проблем с подтверждением заказов и AJAX-обработкой
18.05.2026
WooCommerce: решение проблем с неправильной обработкой AJAX при оплате
11.05.2026
Как удалить старые и неиспользуемые термины таксономий в WordPress
01.02.2026
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙