XML-RPC — это протокол, который используется в WordPress для удалённого взаимодействия с сайтом, например, для публикации записей через мобильные приложения или внешние сервисы. Однако этот протокол часто становится объектом атак, таких как Brute Force, DDoS и эксплойты. Поэтому многие специалисты рекомендуют отключать XML-RPC, если он не нужен.
Что такое XML-RPC и зачем его отключать
XML-RPC — это интерфейс удалённого вызова процедур, который позволяет приложениям взаимодействовать с вашим сайтом WordPress. Например, с его помощью мобильное приложение WordPress или различные сервисы могут публиковать контент или управлять сайтом.
Однако наличие активного XML-RPC открывает дополнительные векторы атак. Злоумышленники могут использовать этот механизм для проведения массовых попыток входа (Brute Force), получения информации о пользователях или даже перегрузки сервера.
Если вы не используете внешние приложения, которые требуют XML-RPC, лучше отключить этот функционал, чтобы повысить безопасность сайта.
Способы отключения XML-RPC в WordPress без плагинов
Существует несколько способов отключить XML-RPC без установки дополнительных плагинов. Рассмотрим основные из них.
1. Отключение через functions.php темы
Самый простой способ — добавить фильтр, который отключит обработку запросов XML-RPC на уровне WordPress.
<?php
// Отключаем XML-RPC
function wphide_disable_xmlrpc() {
return false;
}
add_filter('xmlrpc_enabled', 'wphide_disable_xmlrpc');
?>
Этот код нужно вставить в файл functions.php вашей активной темы или в файл подключения пользовательских функций.
После этого WordPress перестанет обрабатывать XML-RPC запросы, но URL /xmlrpc.php останется доступен и будет отдавать заголовок 403 Forbidden.
2. Блокировка доступа к xmlrpc.php через .htaccess
Для Apache серверов можно ограничить доступ к файлу xmlrpc.php на уровне веб-сервера. Это более надёжный способ, так как запросы даже не будут доходить до WordPress.
# Блокируем доступ к xmlrpc.php
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Этот код нужно добавить в корневой файл .htaccess вашего сайта. Он полностью блокирует доступ к xmlrpc.php для всех пользователей.
Если у вас Nginx, настройка будет выглядеть так:
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}
После применения этих настроек сервер перестанет обрабатывать запросы к XML-RPC и будет возвращать ошибку 403.
3. Отключение pingback и других функций XML-RPC
Иногда необходимо не полностью отключать протокол, а лишь отключить его уязвимые функции, например, pingback.ping, которая часто используется в DDoS-атаках.
Для этого можно добавить в functions.php следующий код:
<?php
// Отключаем pingback XML-RPC метод
function wphide_remove_xmlrpc_pingback_methods( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
}
add_filter( 'xmlrpc_methods', 'wphide_remove_xmlrpc_pingback_methods' );
?>
Это позволит сохранить другие функции XML-RPC, но исключит возможность использования сайта для DDoS через pingback.
Проверка отключения XML-RPC
После внесения изменений важно проверить, что XML-RPC действительно отключён.
- Попробуйте открыть
https://ваш-сайт.ru/xmlrpc.phpв браузере. Если вы видите сообщение «XML-RPC server accepts POST requests only.», значит файл доступен. - Если при блокировке через .htaccess или Nginx вы получите ошибку 403 Forbidden, значит блокировка работает.
- Можно использовать онлайн-сервисы для проверки XML-RPC, например проверку на wphide.ru.
Практический пример: отключение XML-RPC и защита с помощью Clearfy Pro
Если вы используете плагин Clearfy Pro, то в нём есть встроенный модуль для отключения XML-RPC. Он позволяет одним кликом выключить этот функционал без правки кода.
Но если вы предпочитаете ручные методы, описанные выше, то хорошо комбинировать их с Clearfy Pro для комплексной защиты.
Резюме и рекомендации
Отключение XML-RPC — важный шаг для повышения безопасности WordPress сайта, особенно если вы не используете функционал удалённого управления.
Ручные методы отключения через фильтр и блокировку на уровне сервера позволяют гибко контролировать доступ и минимизировать риски.
Если же вы хотите более удобное управление безопасностью, рекомендуем обратить внимание на Clearfy Pro — плагин с удобным интерфейсом и множеством опций по защите сайта.