xmlrpc.php to plik w WordPressie, który umożliwia zdalne połączenia z Twoją stroną – np. z aplikacji mobilnej WordPress lub innych narzędzi API. Niestety, ten sam mechanizm jest często wykorzystywany przez boty i cyberprzestępców do ataków DDoS, brute force i pingback flood.
W tym artykule pokażę, dlaczego warto wyłączyć xmlrpc.php i jak to zrobić bez ryzyka dla działania strony.
Czym jest xmlrpc.php?
To plik, który pozwala na zdalne wykonywanie funkcji WordPressa, takich jak:
- publikowanie wpisów zdalnie,
- logowanie się do WP przez aplikacje mobilne,
- trackbacki i pingbacki.
Ale… od wersji WordPress 4.7, większość funkcji XML-RPC została zastąpiona przez nowoczesne REST API.
Dlaczego xmlrpc.php jest niebezpieczny?
Nawet jeśli z niego nie korzystasz, plik nadal działa i może:
- umożliwiać ataki brute force (logowanie zdalne),
- być wykorzystywany do ataków DDoS przez metodę
pingback.ping,
- obciążać serwer (dużo zapytań = wolniejsza strona),
- umożliwiać enumerację użytkowników.
Jak bezpiecznie zablokować xmlrpc.php?
1. Blokada w .htaccess (Apache)
Dodaj poniższy kod:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
To zablokuje całkowicie dostęp do pliku.
2. Blokada przez funkcje WordPressa
Jeśli chcesz tylko wyłączyć określone funkcje (np. pingbacki), dodaj do functions.php:
add_filter('xmlrpc_enabled', '__return_false');
3. Użycie wtyczki
Wtyczki do prostego wyłączenia xmlrpc.php:
- Disable XML-RPC – wyłącza całkowicie XML-RPC.
- Stop XML-RPC Attack – blokuje ataki, ale nie wyłącza wszystkiego.
4. Dla Nginx
Jeśli korzystasz z Nginx:
location = /xmlrpc.php {
deny all;
}
Kiedy nie wyłączać xmlrpc.php?
Jeśli korzystasz z:
- aplikacji mobilnej WordPressa,
- niektórych zewnętrznych integracji (np. Jetpack, IFTTT),
- zdalnych systemów do publikacji.
…wtedy nie blokuj pliku całkowicie, tylko ogranicz jego funkcje.
Podsumowanie
Jeśli nie korzystasz aktywnie z xmlrpc.php, jego całkowite wyłączenie zwiększy bezpieczeństwo Twojej strony i odciąży serwer. W 2025 roku większość nowoczesnych integracji i tak używa REST API, więc XML-RPC jest reliktem, który warto wyłączyć.