Уже давно xmlrpc.php является форточкой для возможного управления вам сайтом злоумышленниками. Сегодня расскажу как прикрыть эту форточку! xmlrpc.php — это файл, используемый в WordPress (и некоторых других системах) для реализации протокола XML-RPC.
Что это такое XML-RPC?
XML-RPC — это удалённый API-протокол, который позволяет взаимодействовать с сайтом через HTTP, отправляя запросы в формате XML.
Файл xmlrpc.php — это точка входа (endpoint), через которую внешние приложения могут:
- публиковать посты
- редактировать контент
- получать данные сайта
- управлять комментариями
- выполнять аутентификацию
Где используется
В контексте WordPress:
- мобильные приложения WordPress
- интеграции с внешними сервисами
- инструменты автоматизации публикаций
- пинг-сервисы (уведомление поисковиков о новых постах)

Проблемы безопасности xmlrpc.php
xmlrpc.php часто становится объектом атак:
- Brute-force атаки
- можно проверять много логинов/паролей в одном запросе (
system.multicall)
- можно проверять много логинов/паролей в одном запросе (
- DDoS (Pingback атаки)
- злоумышленники используют сайт как прокси для атак на другие ресурсы
- Скрытые атаки
- сложнее отследить, чем обычный
wp-login.php
- сложнее отследить, чем обычный
Нужно ли отключать xmlrpc.php?
Зависит от ситуации:
Можно отключить, если:
- не используешь мобильное приложение WordPress
- нет внешних интеграций
- сайт простой (блог, лендинг)
Не стоит отключать, если:
- есть API-интеграции
- используешь удалённую публикацию
Как отключить xmlrpc.php?
Обычно:
- через
.htaccess - через плагины безопасности
- на уровне сервера (например, Nginx/Apache)
xmlrpc.php= API-интерфейс WordPress для удалённого управления сайтом, но при этом потенциальная точка уязвимости, если не используется.
Безопасные способы отключения xmlrpc.php без поломки сайта
Отключать xmlrpc.php лучше не “в лоб” (удалением файла), а аккуратно — с возможностью контроля и отката. Ниже — проверенные и безопасные варианты.
✅ Способ 1 (рекомендуется): через плагин
Самый безопасный и обратимый вариант в WordPress.
Вариант A: Disable XML-RPC
- Установи плагин Disable XML-RPC
- Активируй — и всё, доступ будет закрыт
Вариант B: Wordfence / iThemes Security
Если уже используешь защитный плагин:
- включи опцию Disable XML-RPC или Block XML-RPC
✔ Плюсы:
- не ломает сайт
- легко включить обратно
- не требует доступа к серверу
✅ Способ 2: через .htaccess (Apache)
Подходит, если у тебя Apache.
Добавь в .htaccess:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
✔ Что происходит:
- сервер блокирует доступ к
xmlrpc.php - сам файл остаётся → WordPress не ломается
✅ Способ 3: через Nginx
Если у тебя Nginx:
location = /xmlrpc.php {
deny all;
}
После — перезапусти сервер.
✅ Способ 4: отключить частично (самый гибкий)
Если хочешь оставить часть функционала (например, Jetpack), лучше отключить только опасные методы.
Добавь в functions.php темы:
add_filter('xmlrpc_enabled', '__return_false');
ИЛИ более точечно (убираем multicall — основной источник brute-force):
add_filter('xmlrpc_methods', function($methods) {
unset($methods['system.multicall']);
return $methods;
});
✔ Это снижает риск атак, но не ломает интеграции
⚠️ Важная проверка после отключения
После любого способа проверь:
- мобильное приложение WordPress (если используешь)
- плагины типа Jetpack
- REST API (обычно не страдает)
- авторизацию и публикации