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

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

Что такое XML-RPC и почему его нужно отключать

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

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

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

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

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

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

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

Этот фильтр отключает XML-RPC на уровне WordPress, не позволяя выполнять никакие вызовы через этот протокол.

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

Если у вас есть доступ к файлу .htaccess, можно заблокировать доступ к xmlrpc.php на уровне веб-сервера. Это более эффективный способ, так как запросы даже не доходят до PHP.

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

Однако этот способ не подойдёт, если на сервере используется Nginx или другой веб-сервер.

Отключение через Nginx

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

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

После внесения изменений перезапустите Nginx.

Плагины для управления XML-RPC

Если вы предпочитаете не трогать код и конфигурацию, можно использовать специальные плагины:

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

Для установки плагина можно воспользоваться репозиторием WordPress или скачать с официального сайта WPSHOP.

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

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

Также можно использовать онлайн-инструменты для проверки доступности XML-RPC, например, https://xmlrpc.eritreo.it/.

Альтернативы XML-RPC: REST API в WordPress

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

REST API поддерживается по умолчанию с версии WordPress 4.7 и позволяет выполнять практически все операции, которые раньше делались через XML-RPC.

Для примера, чтобы получить список последних постов через REST API, используйте следующий URL:

https://ваш-сайт.ru/wp-json/wp/v2/posts

Для более сложных операций потребуется авторизация через OAuth или JWT, но в целом REST API предлагает гибкие возможности для интеграции и автоматизации.

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

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

Для сохранения функционала удалённого управления рекомендуем изучить REST API и внедрять современные методы взаимодействия.

Как создать автоматическое резервное копирование WordPress
02.12.2025
Как удалить темы в WordPress через функции и плагины
23.12.2025
Как сделать автоматический импорт новостей в WordPress из RSS
09.01.2026
Как создать динамические таблицы в WordPress с помощью шорткодов
05.01.2026
Как отложить публикацию постов в WordPress
19.01.2026