Как удалить и запретить XML-RPC в WordPress: практическое руководство

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

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

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

  • Частые атаки перебором паролей через XML-RPC.
  • Атаки типа "pingback" для DDoS.
  • Уязвимости в плагинах и темах, взаимодействующих с XML-RPC.

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

Как отключить XML-RPC в WordPress с помощью кода

Для отключения XML-RPC можно добавить специальный фильтр в файл functions.php вашей темы или в отдельный плагин. Этот способ полностью блокирует доступ к API.

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

<?php
// wpconfig_disable_xmlrpc отключает работу XML-RPC в WordPress
add_filter('xmlrpc_enabled', '__return_false');

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

Дополнительная блокировка через .htaccess

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

# Блокируем доступ к xmlrpc.php
<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

Для Nginx можно использовать правило в конфигурации:

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

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

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

Disable XML-RPC

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

Скачать и подробнее: Disable XML-RPC на WPSHOP

Wordfence Security

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

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

Для проверки статуса XML-RPC используйте следующие методы:

  • Попробуйте открыть https://ваш_сайт/xmlrpc.php в браузере. Если ответ — «XML-RPC server accepts POST requests only.», значит XML-RPC включён.
  • Если вы видите ошибку 403 или 404, значит доступ заблокирован.
  • Можно использовать онлайн-сервисы проверки XML-RPC, например xmlrpc.eritreo.it.

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

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

  • Ограничьте доступ к xmlrpc.php по IP-адресам через .htaccess или конфигурацию сервера.
  • Используйте плагины, которые отслеживают и блокируют подозрительные запросы (например, Wordfence).
  • Отключите функциональность pingback, которая часто используется для DDoS-атак. Для этого добавьте в functions.php:
<?php
// wpconfig_disable_xmlrpc_pingback отключает XML-RPC pingback
add_filter('xmlrpc_methods', function($methods) {
    unset($methods['pingback.ping']);
    return $methods;
});

Это отключит возможность отправки pingback-запросов через XML-RPC.

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

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

Как запретить роботам индексировать страницы WordPress: практическое руководство с примерами кода
05.01.2026
Как настроить очистку кеша в WordPress: практическое руководство
03.12.2025
Как удалить или изменить метаданные медиафайлов в WordPress: пошаговое руководство
30.12.2025
Как изменить стандартный порт phpMyAdmin для WordPress: практическое руководство
08.04.2026
Как настроить автообновления подключённых плагинов WordPress с контролем и безопасностью
30.12.2025
×
Пора обновить WordPress!

Премиум тема Bono с промокодом 15%

Взял — заплатил меньше!