XML-RPC — это протокол, который позволяет приложениям взаимодействовать с WordPress удалённо. Он используется для публикации постов через внешние приложения, мобильные клиенты и некоторые плагины. Однако XML-RPC часто становится причиной проблем с безопасностью, так как его можно использовать для проведения атак типа brute force и DDoS, а также для обхода некоторых ограничений безопасности.
Что такое XML-RPC и зачем его отключать
XML-RPC — это интерфейс удалённого вызова процедур, встроенный в WordPress. Он активирован по умолчанию и открывает точку входа для удалённых запросов. Несмотря на полезность для некоторых сценариев, в большинстве случаев XML-RPC не нужен, особенно если вы не используете мобильные приложения или внешние сервисы для управления сайтом.
Отключение XML-RPC помогает:
- Снизить риск взлома через перебор паролей;
- Уменьшить нагрузку на сервер от потенциальных атак;
- Повысить общую безопасность сайта.
Если вы точно не используете XML-RPC, разумно его отключить.
Как проверить, активен ли XML-RPC
Для проверки доступности XML-RPC перейдите по адресу вашего сайта https://ваш_сайт.ru/xmlrpc.php. Если вы видите сообщение «XML-RPC server accepts POST requests only», значит, сервис включён и доступен.
Ещё можно воспользоваться специализированными онлайн-инструментами или плагинами для сканирования безопасности, чтобы проверить этот параметр.
Способы отключения XML-RPC в WordPress
Отключение через файл functions.php вашей темы
Самый простой способ — добавить следующий код в файл functions.php активной темы:
function wpeducation_disable_xmlrpc() {
add_filter('xmlrpc_enabled', '__return_false');
}
add_action('init', 'wpeducation_disable_xmlrpc');Этот код полностью отключает XML-RPC, возвращая false в фильтре xmlrpc_enabled.
Отключение с помощью .htaccess (для Apache)
Если ваш сервер работает на Apache, можно заблокировать доступ к файлу xmlrpc.php через .htaccess. Добавьте в корневой каталог сайта файл .htaccess с таким содержимым:
<Files xmlrpc.php>
Order deny,allow
Deny from all
</Files>Этот метод блокирует все запросы к XML-RPC на уровне сервера, что более эффективно, чем отключение на уровне WordPress.
Отключение через Nginx
Для сайтов на Nginx добавьте в конфигурацию сервера следующий блок:
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}После внесения изменений перезапустите Nginx.
Использование плагина для отключения XML-RPC
Если вы не хотите редактировать файлы вручную, можно использовать плагины. Например:
- Disable XML-RPC — простой и лёгкий плагин, который отключает XML-RPC одним кликом.
- Clearfy Pro — продвинутый плагин для оптимизации и безопасности WordPress, среди функций которого есть возможность отключения XML-RPC.
Использование плагинов удобно, если вы не хотите рисковать при редактировании кода и хотите получить дополнительные функции безопасности.
Проверка отключения XML-RPC после изменений
После применения любого из способов обязательно проверьте, что XML-RPC действительно отключен. Для этого можно повторно зайти на https://ваш_сайт.ru/xmlrpc.php. Если вы видите ошибку 403 Forbidden или сообщение об отсутствии доступа, значит, всё сделано правильно.
Также стоит проверить функциональность сайта, если вы используете плагины или приложения, которые зависят от XML-RPC. В противном случае отключение не вызовет проблем.
Заключение и рекомендации по безопасности
Отключение XML-RPC — обязательный шаг для повышения безопасности большинства сайтов на WordPress, особенно если функционал удалённого доступа не используется. Кроме этого, рекомендуем:
- Использовать сложные пароли и двухфакторную аутентификацию;
- Регулярно обновлять WordPress, темы и плагины;
- Использовать плагины безопасности, такие как Clearfy Pro или WPRemark для комплексной защиты;
- Настроить файрвол и лимиты на количество попыток входа.
Такой подход минимизирует риски и обеспечит стабильную работу вашего сайта.