15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
01.11.2024

Co to jest xmlrpc.php w WordPress i jak go wyłączyć (Kompletny przewodnik 2024)

WordPress napędza ponad 43% wszystkich witryn w Internecie — a wraz z tą dominacją pojawia się znaczna powierzchnia ataku. Jednym z najczęściej wykorzystywanych punktów wejścia jest plik o nazwie xmlrpc.php. Niezależnie od tego, czy jesteś doświadczonym programistą, czy właścicielem witryny zarządzającym swoją pierwszą instalacją WordPress, zrozumienie tego, co robi ten plik, dlaczego jest niebezpieczny i jak go wyłączyć, jest krytyczne dla bezpieczeństwa Twojej witryny.

Ten przewodnik obejmuje wszystko, co musisz wiedzieć o xmlrpc.php: jego przeznaczenie, rzeczywiste zagrożenia, które wprowadza, oraz trzy sprawdzone metody jego wyłączenia — bez konieczności posiadania stopnia naukowego.

Co to jest xmlrpc.php w WordPress?

xmlrpc.php to podstawowy plik WordPress, który implementuje protokół XML-RPC — system zdalnego wywoływania procedur (RPC), który używa XML do kodowania wywołań i HTTP jako mechanizmu transportu. Mówiąc prościej, pozwala zewnętrznym aplikacjom i usługom komunikować się z Twoją witryną WordPress bez używania standardowego interfejsu przeglądarki internetowej.

Wprowadzony na długo przed pojawieniem się WordPress REST API, xmlrpc.php był głównym mostem między WordPress a światem zewnętrznym. Umożliwiał:

  • Zdalne publikowanie treści — Klienci blogów, tacy jak Windows Live Writer lub MarsEdit, mogą publikować artykuły bezpośrednio na Twojej witrynie.
  • Zarządzanie aplikacją mobilną — Oficjalna aplikacja mobilna WordPress historycznie polegała na XML-RPC do zarządzania postami, stronami i komentarzami.
  • Trackbacki i pingbacki — Protokół obsługuje powiadomienia między witrynami, alertując inne blogi, gdy linkujesz do ich treści.
  • Integracje stron trzecich — Usługi takie jak IFTTT, Zapier (w starszych konfiguracjach) i różne wtyczki używały XML-RPC do programowej interakcji z WordPress.

Chociaż te funkcje były naprawdę przydatne na początku lat 2010., WordPress od tego czasu wprowadził REST API, który zapewnia bezpieczniejszy, nowoczesny i bardziej elastyczny sposób osiągnięcia tych samych wyników. W rezultacie xmlrpc.php jest teraz w dużej mierze przestarzały — ale pozostaje aktywny domyślnie w każdej instalacji WordPress.

Dlaczego xmlrpc.php stanowi zagrożenie bezpieczeństwa?

Problem z xmlrpc.php nie leży w samym protokole — leży w tym, że plik pozostaje włączony nawet wtedy, gdy go nie używasz, tworząc niepotrzebny wektor ataku. Badacze bezpieczeństwa i dostawcy hostingu konsekwentnie flagują go jako jedną z głównych luk w zabezpieczeniach WordPress. Oto dlaczego:

1. Ataki wzmacniające brute-force

To jest najniebezpieczniejsze i najczęściej wykorzystywane zagrożenie. Standardowe ataki brute-force na stronę logowania WordPress (wp-login.php) są ograniczone do jednej próby poświadczenia na żądanie HTTP. XML-RPC zmienia to dramatycznie.

Metoda system.multicall w XML-RPC pozwala atakującemu pakować setki, a nawet tysiące kombinacji nazwy użytkownika/hasła w jedno żądanie HTTP. To oznacza:

  • Tradycyjne ograniczenia szybkości i wtyczki monitorujące próby logowania są omijane.
  • Atakujący mogą testować ogromne listy poświadczeń przy minimalnym zużyciu przepustowości.
  • Dzienniki serwera pokazują znacznie mniej żądań, co utrudnia wykrycie.

Pojedyncza botnet może zagrażać witrynie WordPress ze słabym hasłem w ciągu minut, używając tej techniki.

2. Wzmacnianie DDoS poprzez pingbacki

Atakujący mogą wykorzystać funkcjonalność pingbacku w xmlrpc.php, aby zmienić Twoją witrynę WordPress w nieświadomego uczestnika ataku rozproszonego odmowy usługi (DDoS). Wysyłając specjalnie przygotowane żądanie pingbacku, złośliwy aktor może polecić Twojemu serwerowi wysłanie żądań HTTP na docelowy adres URL — efektywnie wykorzystując zasoby Twojego serwera i reputację IP przeciwko stronie trzeciej.

To nie tylko szkodzi celowi ataku, ale może również spowodować umieszczenie IP Twojego serwera na czarnej liście, wpływając na dostarczalność i reputację Twojej witryny.

3. Wyczerpanie zasobów serwera

Nawet bez skoordynowanego ataku, xmlrpc.php jest częstym celem zautomatyzowanych botów skanujących, które szukają luk w zabezpieczeniach. Te stałe sondy zużywają cykle CPU, pamięć i przepustowość — zasoby, które powinny służyć Twoim legalnym odwiedzającym. Szczególnie w środowiskach hostingu współdzielonego może to zauważalnie pogorszyć wydajność witryny.

4. Niepotrzebna ekspozycja

Jeśli nie używasz narzędzi do zdalnego publikowania, aplikacji mobilnych wymagających XML-RPC lub starszych integracji stron trzecich, to xmlrpc.php zapewnia zero korzyści dla Twojej witryny, utrzymując w pełni aktywną powierzchnię ataku. Zasada najmniejszych uprawnień w bezpieczeństwie stanowi: jeśli tego nie potrzebujesz, wyłącz to.

Czy naprawdę potrzebujesz xmlrpc.php?

Zanim go wyłączysz, zapytaj się:

Przypadek użyciaNadal potrzebuje XML-RPC?
Aplikacja mobilna WordPress (nowoczesna)❌ Nie — używa REST API
Wtyczka Jetpack⚠️ Częściowo — sprawdź dokumentację Jetpack
WooCommerce❌ Nie
Integracje IFTTT / Zapier❌ Nie — użyj REST API lub webhooków
Windows Live Writer / MarsEdit✅ Tak — starsze klienty
Pingbacki / Trackbacki❌ Nie — można wyłączyć osobno

Dla zdecydowanej większości właścicieli witryn WordPress odpowiedź brzmi: tego nie potrzebujesz. Wyłącz to.

Jak wyłączyć xmlrpc.php w WordPress: 3 metody

Istnieją trzy niezawodne metody wyłączenia xmlrpc.php, od przyjaznych dla początkujących do poziomu serwera. Wybierz tę, która najlepiej pasuje do Twojego poziomu umiejętności technicznych i środowiska hostingu.

Metoda 1: Użyj wtyczki bezpieczeństwa WordPress (najłatwiej)

Jeśli chcesz rozwiązanie bez kodu z minimalnym ryzykiem coś zepsucia, wtyczka bezpieczeństwa to Twój najlepszy punkt wyjścia.

Rekomendowane wtyczki:

  • Wordfence Security — Kompleksowa zapora i skaner złośliwego oprogramowania z blokowaniem XML-RPC.
  • iThemes Security (teraz Solid Security) — Dedykowany przełącznik do wyłączenia XML-RPC.
  • Disable XML-RPC — Lekka, jednocześnie przeznaczona wtyczka, która robi dokładnie to, co mówi.

Krok po kroku:

  1. Zaloguj się do panelu administracyjnego WordPress.
  2. Przejdź do Wtyczki → Dodaj nową.
  3. Wyszukaj wybraną wtyczkę (np. „Disable XML-RPC”) i kliknij Zainstaluj teraz, a następnie Aktywuj.
  4. Przejdź do strony ustawień wtyczki. W przypadku dedykowanych wtyczek bezpieczeństwa, takich jak Wordfence lub iThemes Security, poszukaj sekcji oznaczonej XML-RPC lub Modyfikacje WordPress.
  5. Włącz opcję wyłączenia XML-RPC lub blokowania żądań XML-RPC.
  6. Zapisz zmiany.

Zalety: Proste, odwracalne, nie wymaga edycji plików.

Wady: Dodaje zależność wtyczki; plik nadal istnieje na serwerze (żądania są blokowane na poziomie aplikacji, a nie na poziomie serwera).

Metoda 2: Zablokuj xmlrpc.php poprzez .htaccess (rekomendowane dla serwerów Apache)

W przypadku środowisk hostingu opartych na Apache, edycja pliku .htaccess blokuje żądania na poziomie serwera internetowego — zanim WordPress się nawet załaduje. Jest to bardziej wydajne i zapewnia silniejszą ochronę niż sama wtyczka.

Krok po kroku:

  1. Uzyskaj dostęp do plików Twojej witryny poprzez FTP (używając FileZilla lub podobnego) lub poprzez Menedżer plików panelu sterowania hostingu.
  2. Przejdź do katalogu głównego WordPress — zwykle jest to public_html lub www.
  3. Zlokalizuj plik .htaccess. Jeśli go nie widzisz, włącz pliki ukryte w kliencie FTP (w FileZilla: Server → Force Showing Hidden Files) lub w ustawieniach menedżera plików.
  4. Otwórz .htaccess do edycji i dodaj następujący blok na końcu pliku:
# Block WordPress xmlrpc.php
<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>
  1. Zapisz plik i zamknij edytor.

Aby sprawdzić, czy to działa, odwiedź https://yourdomain.com/xmlrpc.php w przeglądarce. Powinieneś otrzymać błąd 403 Forbidden zamiast domyślnej odpowiedzi XML-RPC.

Zalety: Blokowanie na poziomie serwera jest bardziej wydajne; zmniejsza obciążenie serwera; nie wymaga wtyczki.

Wady: Wymaga dostępu do plików; nieprawidłowe edycje .htaccess mogą tymczasowo zepsuć Twoją witrynę (zawsze przechowuj kopię zapasową).

> Wskazówka pro: Jeśli Twój hosting używa Nginx zamiast Apache, dodaj następujące do konfiguracji bloku serwera Nginx:

>

> “`nginx

> location = /xmlrpc.php {

> deny all;

> access_log off;

> log_not_found off;

> }

> “`

Metoda 3: Wyłącz poprzez functions.php (hak filtra WordPress)

Ta metoda używa filtra WordPress do programowego wyłączenia funkcjonalności XML-RPC z poziomu motywu lub niestandardowej wtyczki. To czysty, oparty na kodzie rozwiązanie, które działa na poziomie aplikacji WordPress.

Krok po kroku:

Opcja A — Poprzez edytor motywu (szybko, ale nie rekomendowane dla produkcji):

  1. Na pulpicie nawigacyjnym WordPress przejdź do Wygląd → Edytor motywu.
  2. Wybierz functions.php z listy plików po prawej stronie.
  3. Dodaj następujący kod na końcu pliku:
// Disable XML-RPC
add_filter( 'xmlrpc_enabled', '__return_false' );
  1. Kliknij Aktualizuj plik, aby zapisać.

Opcja B — Poprzez niestandardową wtyczkę (rekomendowane):

Zamiast edytować functions.php Twojego motywu (który zostaje nadpisany przy aktualizacjach motywu), utwórz prostą niestandardową wtyczkę:

  1. Używając FTP lub Menedżera plików, przejdź do wp-content/plugins/.
  2. Utwórz nowy folder o nazwie disable-xmlrpc.
  3. Wewnątrz tego folderu utwórz plik o nazwie disable-xmlrpc.php z następującą zawartością:
<?php
/**
 * Plugin Name: Disable XML-RPC
 * Description: Disables XML-RPC functionality for improved security.
 * Version: 1.0
 * Author: Your Name
 */

add_filter( 'xmlrpc_enabled', '__return_false' );
  1. Przejdź do Wtyczki → Zainstalowane wtyczki na pulpicie nawigacyjnym i aktywuj Disable XML-RPC.

Zalety: Czysty, niezależny od motywu (przy użyciu metody niestandardowej wtyczki); łatwy do odwrócenia.

Wady: Tylko na poziomie aplikacji — plik nadal istnieje i może odbierać żądania (chociaż będą odrzucane); nie zmniejsza obciążenia serwera tak skutecznie jak blokowanie .htaccess.

Łączenie metod dla maksymalnego bezpieczeństwa

Aby uzyskać najsilniejszą ochronę, połącz metodę 2 (.htaccess) z metodą 3 (hak filtra):

  • Reguła .htaccess blokuje żądania na poziomie serwera, zmniejszając obciążenie.
  • Hak filtra zapewnia wyłączenie XML-RPC nawet jeśli reguła .htaccess zostanie kiedykolwiek ominięta lub nadpisana.

To warstwowe podejście jest zgodne z zasadą bezpieczeństwa obrony w głąb — wielokrotne niezależne kontrole chroniące ten sam zasób.

Jak sprawdzić, czy xmlrpc.php został pomyślnie wyłączony

Po zastosowaniu wybranej metody potwierdź, że działa:

  1. Test przeglądarki: Odwiedź https://yourdomain.com/xmlrpc.php. Pomyślne zablokowanie pokazuje błąd 403 Forbidden lub 404 Not Found.
  2. Narzędzie do sprawdzania XML-RPC online: Użyj narzędzia takiego jak xmlrpc.eritreo.it, aby sprawdzić, czy punkt końcowy XML-RPC Twojej witryny odpowiada.
  3. Dzienniki serwera: Sprawdź dzienniki dostępu pod kątem pozostałych żądań do xmlrpc.php — nagły spadek potwierdza, że blok działa.

Wybór odpowiedniego hostingu dla bezpieczeństwa WordPress

Wyłączenie xmlrpc.php to tylko jedna warstwa bezpieczeństwa WordPress. Podstawą bezpiecznej witryny WordPress jest wybór odpowiedniego dostawcy hostingu — takiego, który oferuje kontrolę bezpieczeństwa na poziomie serwera, regularne kopie zapasowe i infrastrukturę zaprojektowaną do wytrzymania ataków.

W AlexHost bezpieczeństwo WordPress jest wbudowane w stos hostingu. Niezależnie od tego, czy prowadzisz osobisty blog, czy witrynę biznesową o wysokim ruchu, odpowiedni plan robi znaczną różnicę:

  • Hosting VPS — Pełny dostęp root pozwala na wdrożenie konfiguracji bezpieczeństwa na poziomie serwera, w tym niestandardowych reguł Nginx lub Apache do blokowania xmlrpc.php na poziomie infrastruktury. Idealny dla programistów i rozwijających się witryn, które potrzebują szczegółowej kontroli.
  • Hosting współdzielony — Ekonomiczny punkt wejścia dla witryn WordPress, z zarządzanymi konfiguracjami bezpieczeństwa i łatwym dostępem do edycji .htaccess poprzez panel sterowania.
  • VPS z cPanel — Łączy moc wirtualnego serwera prywatnego ze znanym interfejsem cPanel, ułatwiając zarządzanie plikami .htaccess, certyfikatami SSL i ustawieniami bezpieczeństwa bez wiedzy z zakresu wiersza poleceń.
  • Certyfikaty SSL — Szyfrowanie Twojej witryny za pomocą HTTPS jest niezbędną podstawą bezpieczeństwa. Certyfikat SSL zapewnia, że nawet jeśli żądania XML-RPC są wysyłane, poświadczenia i przesyłane dane są szyfrowane w tranzycie.
  • Rejestracja domeny — Przechowuj domenę i hosting w jednym miejscu, aby uprościć zarządzanie DNS i zmniejszyć powierzchnię ataku z luk w zabezpieczeniach rejestratora stron trzecich.

Połączenie silnej infrastruktury hostingu z wzmacnianiem na poziomie aplikacji, takim jak wyłączenie xmlrpc.php, daje Twojej witrynie WordPress solidną, wielowarstwową postawę bezpieczeństwa.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij