Jak zabezpieczyć stronę WordPress wyłączając plik XML-RPC?

Stronę WordPress można realnie wzmocnić bezpieczeństwo, wyłączając lub blokując plik xmlrpc.php, który domyślnie pozostaje aktywny w każdej instalacji.

Czym jest XML-RPC i do czego został stworzony?

XML-RPC to mechanizm umożliwiający zdalną komunikację z WordPressem, oparty na pliku xmlrpc.php, znajdującym się w katalogu głównym strony. Powstał w czasach, gdy popularne było publikowanie wpisów z zewnętrznych aplikacji desktopowych lub mobilnych.

Dzięki XML-RPC możliwe było między innymi:

  • publikowanie wpisów poza panelem WP,
  • moderowanie komentarzy zdalnie,
  • komunikowanie się z narzędziami typu Jetpack.

Problem polega na tym, że dzisiaj większość stron w ogóle z tego nie korzysta, a plik nadal pozostaje dostępny publicznie.

Dlaczego XML-RPC bywa realnym zagrożeniem?

XML-RPC jest jednym z najczęściej skanowanych punktów WordPressa przez boty. Powód jest prosty:
umożliwia masowe próby logowania w jednym zapytaniu oraz wykorzystywanie funkcji pingback.

W praktyce oznacza to:

  • próby łamania haseł bez klasycznego formularza logowania,
  • obciążanie serwera zapytaniami POST,
  • wykorzystywanie strony jako pośrednika w atakach na inne witryny,
  • brak czytelnych śladów w standardowych logach WP.

Z doświadczenia administracyjnego: bardzo często spadki wydajności i dziwne skoki zużycia CPU zaczynają się właśnie od ruchu na xmlrpc.php.

Jak sprawdzić, czy XML-RPC jest aktywny?

Wystarczy wejść w przeglądarce na adres:

Jeżeli zobaczysz komunikat informujący, że serwer akceptuje tylko zapytania POST, oznacza to, że plik działa i może przyjmować ruch z zewnątrz.

Czytaj więcej:  Biały ekran śmierci w WordPress – skąd się bierze i jak go naprawić?

Jak wyłączyć XML-RPC krok po kroku?

Metoda 1: Wyłączenie za pomocą wtyczki

To rozwiązanie dla osób, które nie chcą ingerować w pliki serwera.

  1. Zaloguj się do panelu WordPress.
  2. Wejdź w Wtyczki → Dodaj nową.
  3. Wyszukaj „Disable XML-RPC”.
  4. Zainstaluj i aktywuj.

Po aktywacji plik przestaje obsługiwać żądania XML-RPC bez dodatkowej konfiguracji.

Metoda 2: Blokada przez plik .htaccess (serwer)

To najskuteczniejsze rozwiązanie, ponieważ ruch jest zatrzymywany zanim dotrze do WordPressa.

Dodaj na końcu pliku .htaccess:

Po zapisaniu boty otrzymają błąd dostępu, a serwer przestanie tracić zasoby.

Metoda 3: Wyłączenie przez functions.php

Rozwiązanie pośrednie, gdy nie masz dostępu do konfiguracji serwera.

Ta metoda dezaktywuje funkcję, ale nie blokuje fizycznego dostępu do pliku, dlatego nie jest optymalna przy dużym ruchu botów.

Metoda 4: Firewall aplikacyjny

Jeśli korzystasz z rozwiązań typu Wordfence lub Sucuri, możesz zablokować próby autoryzacji XML-RPC bez całkowitego wyłączania pliku.
Sprawdza się to tam, gdzie część integracji nadal z niego korzysta.

Przykład z praktyki administratora

Na jednej ze stron klienta serwer był regularnie przeciążany w nocy, mimo braku realnego ruchu użytkowników. Logi hostingu wskazywały setki zapytań POST na xmlrpc.php.
Po zastosowaniu blokady na poziomie .htaccess:

  • zużycie CPU spadło o ponad połowę,
  • zniknęły losowe przerwy w dostępności,
  • hosting przestał wysyłać alerty o nadmiernym obciążeniu.
Czytaj więcej:  Jak bezpiecznie przesłać dostępy do strony internetowej?

Bez instalowania dodatkowych wtyczek.

Najczęstsze błędy przy blokowaniu XML-RPC

  • wyłączanie XML-RPC bez sprawdzenia, czy strona korzysta z aplikacji mobilnej,
  • stosowanie wyłącznie kodu w functions.php,
  • blokowanie pliku bez testu odpowiedzi serwera,
  • pozostawienie XML-RPC aktywnego „bo nic się nie dzieje”.

Porównanie metod dezaktywacji XML-RPC

MetodaPoziom ochronyObciążenie WPWymagana wiedza
WtyczkaŚredniTakNiska
.htaccessWysokiNieŚrednia
functions.phpNiskiTakNiska
FirewallWysokiNieŚrednia

Mini FAQ

Czy wyłączenie XML-RPC wpływa na panel administracyjny?
Nie, logowanie do /wp-admin działa normalnie.

Czy każda strona powinna blokować XML-RPC?
Jeśli nie korzysta z aplikacji mobilnej lub specyficznych integracji – tak.

Czy REST API to to samo?
Nie. REST API działa niezależnie od XML-RPC i nie wymaga jego aktywności.

Trzy rzeczy, które warto zapamiętać

  1. XML-RPC jest aktywny domyślnie i często niepotrzebny.
  2. Najlepszą ochronę daje blokada na poziomie serwera.
  3. To drobna zmiana, która realnie zmniejsza ryzyko ataków.

Podsumowanie

Wyłączenie XML-RPC to jeden z tych ruchów, które nie są widowiskowe, ale robią ogromną różnicę w praktyce. Plik działa domyślnie, a w większości przypadków nie jest do niczego potrzebny, za to bywa regularnie wykorzystywany przez boty do obciążania serwera i prób logowania.

Największą skuteczność daje blokada na poziomie serwera, bo zatrzymuje ruch jeszcze zanim dotrze do WordPressa. Wtyczki i kod w motywie mogą być pomocne, ale nie zawsze rozwiązują problem u źródła. Warto też pamiętać, że nie każda strona powinna wyłączać XML-RPC w ciemno – jeśli korzysta z aplikacji mobilnej lub konkretnych integracji, lepszym rozwiązaniem bywa ograniczenie dostępu zamiast pełnej blokady.

Z perspektywy administratora to jeden z tych elementów, które sprawdzam zawsze na początku. Mały detal, a potrafi znacząco poprawić stabilność, bezpieczeństwo i spokój właściciela strony.

Paweł Deluga
Paweł Deluga

Twórca, redaktor, specjalista od WordPressa, admin ponad 1000 stron i człowiek, który zamienił pasję w sposób na życie. Od ponad 12 lat tworzę strony internetowe, prowadzę portale informacyjne, wspieram biznesy online i pokazuję, że nawet bez technicznego zaplecza można zbudować coś wyjątkowego w sieci. Sam jestem tego przykładem. Nie mam dyplomu programisty, a mimo to stworzyłem ponad 150 stron i pomogłem setkom osób oraz firm ruszyć z miejsca.

Artykuły: 9

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Zamawiając gotową stronę otrzymasz poniższe usługi w cenie!

Strony i sklepy WordPress

Domena

Popularne domeny takie jak: pl, com, eu, com.pl na pierwszy rok za darmo.

Strony i sklepy WordPress

Hosting SSD

Bardzo szybki hosting SSD o pojemności 100 GB wraz z pocztą.

Strony i sklepy WordPress

Certyfikat SSL

Zabezpieczenie danych wrażliwych wprowadzonych przez formularz.

Strony i sklepy WordPress

Wsparcie

Każdy klient może liczyć na szybkie wsparcie.