KEMBAR78
Jak wyłączyć XML-RPC w WordPress (bezpieczna metoda)
Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak wyłączyć XML-RPC w WordPress (bezpieczna metoda)

XML-RPC to podstawowe API WordPress, które pozwala użytkownikom łączyć się ze swoimi stronami WordPress za pomocą aplikacji, narzędzi i usług stron trzecich. Niestety, w przeszłości hakerzy znajdowali sposoby na wykorzystanie XML-RPC do uzyskania dostępu do stron WordPress.

W WPBeginner pomogliśmy tysiącom użytkowników zabezpieczyć ich witryny WordPress i wyłączyć XML-RPC. Odkryliśmy, że istnieją różne sposoby, w zależności od Twojej wiedzy technicznej.

Na przykład, możesz wyłączyć XML-RPC, uzyskując dostęp do pliku .htaccess lub dodając fragment kodu. Tymczasem, jeśli jesteś początkującym, istnieje wtyczka, która wyłącza główny plik bez konieczności edycji kodu.

W tym artykule pokażemy Ci, jak łatwo wyłączyć XML-RPC w WordPressie, korzystając z różnych metod.

Łatwe wyłączenie XML-RPC w WordPress

Co to jest XML-RPC w WordPressie?

XML-RPC to podstawowe API WordPress, które jest domyślnie włączone od czasu wydania WordPress 3.5 w 2012 roku. Pozwala ono programistom na używanie protokołów XML i HTTPS do łączenia się z Twoją witryną WordPress i interakcji z nią.

Krótko mówiąc, potrzebujesz włączonego XML-RPC, aby uzyskać dostęp i publikować swój blog zdalnie, na przykład gdy chcesz używać aplikacji mobilnej do zarządzania swoją witryną lub nawiązywać połączenia z usługami automatyzacji, takimi jak Uncanny Automator lub Zapier.

Jednakże, jeśli nie korzystasz z aplikacji mobilnych ze swoją stroną internetową, niektórzy eksperci ds. bezpieczeństwa WordPress mogą doradzić wyłączenie XML-RPC. Zamyka to drzwi, które potencjalnie mogą zostać wykorzystane do zhakowania Twojej strony internetowej.

Mając to na uwadze, przyjrzyjmy się, jak łatwo wyłączyć API XML-RPC w WordPress. Metoda z plikiem .htaccess jest najlepsza, ponieważ zużywa najmniej zasobów, a inne metody są łatwiejsze dla początkujących.

Metoda 1: Wyłącz WordPress XML-RPC za pomocą .htaccess (zaawansowane)

Ta metoda jest przeznaczona dla zaawansowanych użytkowników, ponieważ wymaga edycji pliku .htaccess Twojej witryny. Zalecamy, aby początkujący korzystali z Metody 2 lub 3.

Ten sposób ma kilka zalet, takich jak możliwość udzielenia zdalnego dostępu sobie i swojemu zespołowi, jednocześnie ograniczając dostęp innym. Nie wpłynie to również negatywnie na wydajność WordPressa, ponieważ wyłącza żądania XML-RPC, zanim zostaną przekazane do WordPressa.

Musisz dodać następujący kod do swojego pliku .htaccess. Możesz to zrobić, łącząc się ze swoją witryną za pomocą klienta FTP lub menedżera plików. Ponadto użytkownicy All in One SEO mogą użyć wbudowanego narzędzia edytora wtyczki do dodania fragmentu kodu, jak widać na poniższym zrzucie ekranu.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
Użyj AIOSEO Pro, aby wyłączyć XML-RPC z htaccess

Jeśli chcesz nadać określonemu użytkownikowi zdalny dostęp do swojej witryny, po prostu zamień '123.123.123.123' w linii 5 na jego adres IP. Możesz dodać wiele adresów IP, oddzielając je spacjami.

Lub, jeśli chcesz całkowicie wyłączyć XML-RPC, usuń całą linię 5.

Uwaga: Jeśli nie możesz znaleźć pliku .htaccess, zapoznaj się z naszym przewodnikiem na temat dlaczego nie możesz znaleźć pliku .htaccess w WordPress.

Metoda 2: Wyłącz XML-RPC WordPress za pomocą fragmentu kodu (zalecane)

Ta metoda wymaga dodania kodu do Twojej witryny WordPress. Jeśli nie robiłeś tego wcześniej, zapoznaj się z naszym przewodnikiem, jak kopiować i wklejać niestandardowe fragmenty kodu w WordPress.

WPCode to najłatwiejszy i najbezpieczniejszy sposób dodawania kodu do witryny WordPress. Pomaga zarządzać fragmentami kodu i zapobiega błędom, które mogłyby zepsuć witrynę.

W tej metodzie użyjemy jednego z wbudowanych fragmentów kodu WPCode, aby wyłączyć XML-RPC.

Najpierw musisz zainstalować darmowy plugin WPCode. Instrukcje krok po kroku znajdziesz w naszym przewodniku jak zainstalować plugin WordPress.

Po aktywacji przejdź do Fragmenty kodu » Dodaj fragment. Biblioteka WPCode zawiera już fragment, który wyłącza XML-RPC. Możesz go znaleźć, wyszukując „xml”.

Po jego znalezieniu musisz kliknąć przycisk „Użyj fragmentu”.

Użyj biblioteki WPCode, aby wyłączyć XML-RPC

Następnie musisz przełączyć przełącznik „Aktywny” na pozycję „Włączone”.

Na koniec upewnij się, że klikniesz przycisk „Zaktualizuj”, aby włączyć fragment na swojej stronie i wyłączyć API XML-RPC.

Włącz fragment WPCode, klikając Aktywuj i naciskając Aktualizuj

Metoda 3: Wyłącz XML-RPC w WordPress za pomocą wtyczki

Jest to prosta metoda, która może być użyta, jeśli nie chcesz dodawać żadnych innych modyfikacji do swojej strony internetowej za pomocą wtyczki z fragmentami kodu.

Po prostu zainstaluj i aktywuj wtyczkę Disable XML-RPC-API. Więcej szczegółów znajdziesz w naszym przewodniku krok po kroku na temat jak zainstalować wtyczkę WordPress.

Wtyczka działa od razu i natychmiast dezaktywuje XML-RPC.

Możesz przejść do XML-RPC Security » XML-RPC Settings, aby skonfigurować wtyczkę. Na przykład możesz zezwolić niektórym użytkownikom na dostęp do XML-RPC poprzez umieszczenie ich adresów IP na białej liście.

Ustawienia wtyczki Wyłącz XML-RPC-API

Testowanie, czy WordPress XML-RPC jest wyłączony

Teraz powinieneś sprawdzić, czy pomyślnie wyłączyłeś API XML-RPC na swojej stronie WordPress.

Możesz również sprawdzić, czy XML-RPC jest wyłączone, po prostu odwiedzając adres URL http://example.com/xmlrpc.php w swojej przeglądarce. Pamiętaj, aby zastąpić „example.com” nazwą domeny swojej witryny.

Jeśli XML-RPC jest wyłączone, powinieneś zobaczyć komunikat o błędzie: „Forbidden: You don’t have permission to access this resource.”

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak łatwo wyłączyć XML-RPC w WordPress. Możesz również zapoznać się z naszym przewodnikiem na temat jak łatwo dodawać JavaScript do WordPress oraz najlepszymi narzędziami do tworzenia stron WordPress.

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

46 CommentsLeave a Reply

  1. Dziękuję za fragment. Ostatecznie wyłączyłem XML-RPC za pomocą WPCode, ponieważ wydawało się to najłatwiejszym sposobem, a także mogę łatwo przywrócić XML-RPC. Świetnie!

  2. w htaccess, linia:
    allow from 123.123.123.123
    wygląda na to, że chce być edytowana moim adresem IP. Ale nie jest to nigdzie podane —?

    • Blokowanie próbowałoby ograniczyć dostęp do funkcji, podczas gdy wyłączenie całkowicie by ją wyłączyło. Jeśli ją wyłączysz, nie musiałbyś martwić się o dostęp do niej inną metodą.

      Admin

  3. Zalecana wtyczka Disable XML-RPC nie była aktualizowana od 2 lat. Mówi, że wtyczka nie była testowana z ostatnimi 3 wydaniami WordPressa.

  4. Cześć,

    Czy wyłączenie dostępu do xmlrpc.php wyłączy również dostęp do API WordPress używanych do tworzenia aplikacji na Androida/iOS?

  5. Znaleziono rozwiązanie:
    Dodanie następujących informacji w konfiguracji nginx:
    # blok nginx dla żądań xmlrpc.php
    location /xmlrpc.php {
    deny all;
    }

  6. Używam nginx zamiast Apache. Czy nadal mogę używać pliku .htaccess na mojej stronie?
    I czy muszę przechowywać ten plik w katalogu public_html, czy poziom wyżej?

        • Dodałbyś wtyczkę specyficzną dla witryny lub wtyczkę z wcześniejszej części artykułu.

  7. Cześć, czy to w pliku .htaccess w głównym katalogu strony mam wkleić kod?

    • Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code :)

      Admin

  8. dlaczego mielibyśmy zezwolić na 123.123.123.123 ?

    Jeśli w ogóle nie korzystamy z usługi, dlaczego nie pozwolić, aby „odmów wszystkim” było absolutne?

    • Jeśli dobrze rozumiem kod;
      order deny,allow – umieszcza deny przed allow, ponieważ deny jest „wszystko”, więc allow nie jest przetwarzane
      deny from all – robi to, co mówi
      allow from 123.123.123.123 – jest symbolem zastępczym

      Zakładam, że jeśli masz stały adres IP, możesz zmienić kolejność na „allow,deny” i zastąpić 123.123.123.123 swoim adresem IP. Pozwoliłoby to na Twój adres IP, a następnie odmówiło wszystkim innym.

  9. Thanks WP-Beginner, I’m trying to be baddest WP boy in my neighbourhood and this is exactly why I keep coming back to you guys, each question I have you say; here is the easy way, and here is the RIGHT way :-)

    Ja i mój plik .htaccess odbędziemy krótką rozmowę na temat htpasswrd i tej całej rzeczy z XMLRPC, której moi klienci nigdy nie będą potrzebować.

    Wszyscy sprawiliście, że mój zakątek sieci stał się odrobinę bezpieczniejszy, jak powiedziałby MailChimp: Wysokie piątki!

  10. Ok, użyję tego kodu, ale chcę, żeby IFTTT działało na mojej stronie, co muszę dodać?

    # Blokuj żądania WordPress xmlrpc.php

    order deny,allow
    deny from all
    allow from 123.123.123.123

  11. Cześć,

    Postępowałem zgodnie z instrukcjami, aby zablokować plik xmlrpc.php za pomocą .htaccess, ale nie jestem pewien, czy działa.

    Używam wtyczki Wordfence Security i w widoku ruchu na żywo widzę, że żądania do pliku xmlrpc.php ustały, ale jeśli sprawdzę moje logi dostępu

    tail -f /apache2/logs/access_log

    Nadal widzę przychodzące żądania, ale kod na końcu zmienił się z 500 na 403. Obawiam się, że otrzymuję fałszywy raport z mojej wtyczki WordFence i że nadal jestem zalewany spamem. Czy ktoś może doradzić?

    Dzięki,

    PhilB

    • Och tak! To działa idealnie, Twoje XMLRPC jest ZABRONIONE!

      Kod statusu HTTP 403: Serwer zrozumiał żądanie, ale odmawia jego autoryzacji.

  12. Mam dziwny problem…

    Używałem moich blogów WordPress z IFTTT i wszystko działało dobrze, dopóki nie zintegrowałem ich z MaxCDN; IFTTT natychmiast przestało działać. Zrobiłem trochę badań i problem może być związany z dezaktywowanym XML-RPC.

    Kiedy sprawdzam mój pulpit w „Ustawienia” > „Pisanie”, nie widzę niczego takiego jak XML-RPC, Publikowanie zdalne itp. Sprawdziłem bazę danych w opcjach, również xml-rpc nie jest dostępny / brak.

    Muszę aktywować XML-RPC, aby moje IFTTT działało.

    Jak ponownie aktywować XML-RPC; wszystko, czego potrzebuję, to skrypt, który mogę dodać do .htaccess lub functions.php, aby aktywować XML-RPC.

    I dlaczego brakuje mi funkcjonalności XML-RPC w moim panelu.

    Dziękuję!

  13. Szukałem sposobu na dodanie tego pliku xmlprc.php do mojego wordpressa, używam wersji 4.5.3 i trafiłem na tę stronę. Muszę dodać ten plik php, ponieważ po włączeniu jetpacka otrzymuję błąd site_inaccessible. Proszę powiedz mi, jak rozwiązać ten błąd, moja strona to

    • Połącz się ze swoją stroną WordPress za pomocą klienta FTP lub Menedżera plików w cPanelu. W katalogu głównym Twojej witryny poszukaj pliku xmlrpc.php. Jeśli tam jest, spróbuj kroku 2. Jeśli go nie ma, pobierz świeżą kopię WordPress. Rozpakuj ją i prześlij plik xmlrpc.php z powrotem do katalogu głównego Twojej witryny.

      Krok 2: Sprawdź plik functions motywu WordPress pod kątem kodu wyłączającego XML-RPC.

      Krok 3: Sprawdź pliki .htaccess i wp-config.

      Admin

  14. Proszę, co mogę zrobić, aby włączyć xmlrpc na mojej stronie? ponieważ nie mogę zalogować się za pomocą aplikacji mobilnej WordPress na moim smartfonie..

  15. Booyah! Ten filtr WP naprawił atak skryptowych dzieciaków. Nadal zablokowałem tę osobę w firewalu, ale nie muszę już pilnować logów jak sęp, aby dodawać kolejne IP do firewala. DZIĘKUJĘ.

  16. Jestem całkowicie za wyłączeniem xmlrpc.php na całym serwerze w moim pliku /etc/httpd/conf/includes/pre_main_global.conf. Ale pozostaje mi pytanie… czy jest sposób, aby określić, że dany wtyczka „POTRZEBUJE” xmlrpc.php do działania? Obawiam się, że zablokowanie do niego dostępu może spowodować problem za 2 miesiące i nie będę wiedział, że problemem jest to, że wcześniej zablokowałem xmlrpc.php.

    Czy są jakieś powszechne oznaki, na które należy zwrócić uwagę w pliku dziennika lub podobnym, które wskazywałyby na blokadę xmlrpc.php jako przyczynę?

  17. Cześć, używam aplikacji WordPress do publikowania za pomocą mojego smartfona z Androidem. Teraz nie mogę się zalogować, a moje dane logowania są poprawne. Odpowiedź, którą otrzymałem, brzmiała: „nie możemy Cię zalogować, nie udało się połączyć z witryną WordPress”. Czy możesz mi pomóc naprawić ten błąd logowania do aplikacji WordPress.

    • Jeśli wyłączyłeś XML RPC, możesz nie być w stanie zalogować się za pomocą aplikacji mobilnej WordPress. Sprawdź plik functions.php swojego motywu pod kątem tego kodu

      add_filter('xmlrpc_enabled', '__return_false');

      Jeśli tam jest, musisz go usunąć. Możesz również spróbować dezaktywować wtyczki i włączać je pojedynczo, aż znajdziesz wtyczkę, która uniemożliwia Ci logowanie za pomocą aplikacji mobilnej WordPress.

      Admin

  18. Warto zauważyć, że „allow from 123.123.123.123” jest opcjonalne i jeśli jest używane, powinno zostać zaktualizowane, aby uwzględnić Twój adres IP lub adres IP urządzenia, które potrzebuje dostępu do xmlrpc.php (dobrze byłoby podać przykłady w tym artykule).

  19. Używam wtyczki GoodbyeCaptcha do wyłączenia XML-RPC i działa bez problemu, gdy Jetpack jest aktywowany.
    Mam nadzieję, że pomoże

  20. Przepraszam, próbowałem tej metody wiele razy. Nie zadziałała u mnie – w rzeczywistości spowodowała awarię frontendu (blokując odwiedzającym dostęp do strony internetowej) po dodaniu tych kodów do pliku .htaccess.

  21. Keith, w WordPressie panuje trend przenoszenia funkcji niezwiązanych z motywem z pliku functions.php do „wtyczki specyficznej dla witryny”, czyli w zasadzie wtyczki, którą aktywujesz tylko na jednej unikalnej stronie internetowej i która przechowuje funkcje niezwiązane z motywem dla tej witryny.

    Tego samego można dokonać, umieszczając kod w pliku functions.php.

  22. Cześć wszystkim
    Przepraszam, że jestem trochę tępy, ale czy moglibyście rozwinąć… „Wszystko, co musisz zrobić, to wkleić poniższy kod do wtyczki specyficznej dla witryny:”

    Które wtyczki są specyficzne dla strony?

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.