XML-RPC — это протокол, который позволяет удалённо взаимодействовать с сайтом на WordPress. Несмотря на удобство, он часто становится причиной проблем с безопасностью, таких как атаки методом перебора паролей и DDoS-атаки. В этой статье мы подробно рассмотрим, как автоматически отключить XML-RPC в WordPress, чтобы повысить безопасность вашего сайта и снизить нагрузку на сервер.
Что такое XML-RPC и почему его стоит отключить
XML-RPC — это встроенный в WordPress механизм, который позволяет приложениям и сервисам (например, мобильным приложениям WordPress, Jetpack и другим) получать доступ к вашему сайту через удалённые запросы. По умолчанию он включён, но если вы не используете такие приложения, лучше отключить этот функционал.
Основные причины отключения XML-RPC:
- Уменьшение риска брутфорс-атак и попыток взлома через перебор паролей.
- Снижение нагрузки на сервер за счёт блокировки частых запросов.
- Повышение общей безопасности сайта без потери функционала, если вы не используете удалённые сервисы.
Как проверить, активен ли XML-RPC на вашем сайте
Проверить доступность XML-RPC просто — попробуйте открыть в браузере адрес https://ваш-сайт.ru/xmlrpc.php. Если вы видите сообщение XML-RPC server accepts POST requests only., значит протокол активен.
Также можно использовать онлайн-сервисы или плагины для проверки доступности XML-RPC.
Способы отключения XML-RPC в WordPress
Отключение через functions.php — простой код для автоматизации
Чтобы отключить XML-RPC без плагинов, добавьте следующий код в файл functions.php вашей темы или в файл основного плагина:
function wpmanager_disable_xmlrpc() {
add_filter('xmlrpc_enabled', '__return_false');
}
add_action('init', 'wpmanager_disable_xmlrpc');
Этот код полностью отключает XML-RPC, предотвращая обработку любых запросов к xmlrpc.php.
Отключение через .htaccess — блокировка на уровне сервера
Если ваш сервер работает на Apache, можно заблокировать доступ к файлу xmlrpc.php через .htaccess. Добавьте в корень сайта следующий код:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Это решение эффективно блокирует все обращения к XML-RPC на уровне сервера, что уменьшает нагрузку и повышает безопасность.
Использование плагинов для управления XML-RPC
Если вы предпочитаете использовать плагины, рассмотрите следующие варианты:
- Clearfy Pro — этот плагин содержит опцию для отключения XML-RPC и других уязвимых функций одним кликом. Подробнее на wpshop.ru.
- Disable XML-RPC — простой и лёгкий плагин, который полностью отключает протокол.
Как автоматизировать отключение XML-RPC при установке сайта
Если вы создаёте несколько сайтов или хотите стандартизировать процесс, можно добавить в свой собственный плагин для WordPress следующий код, который будет автоматически отключать XML-RPC:
function wpmanager_auto_disable_xmlrpc() {
if (defined('XMLRPC_REQUEST') && XMLRPC_REQUEST) {
wp_die('Доступ к XML-RPC запрещён.');
}
}
add_action('init', 'wpmanager_auto_disable_xmlrpc');
Этот код не только отключит протокол, но и выведет понятное сообщение при попытке доступа.
Тестирование и проверка после отключения
После внедрения любого из решений обязательно проверьте, что XML-RPC действительно отключён. Это можно сделать, открыв https://ваш-сайт.ru/xmlrpc.php — теперь там должно выводиться сообщение об ошибке или отказе в доступе.
Также проверьте работу мобильных приложений и сервисов, если вы их используете. В противном случае отключение не повлияет на функционал сайта.
Заключение по безопасности и производительности
Отключение XML-RPC — простой и эффективный способ повысить безопасность WordPress-сайта, снизить нагрузку и избежать распространённых атак. Если вам не нужен удалённый доступ через мобильные приложения или сторонние сервисы, рекомендуем автоматизировать этот процесс с помощью кода или плагинов, таких как Clearfy Pro.