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ć JSON REST API w WordPress

Otrzymaliśmy niedawno pytanie od czytelnika, które często słyszymy: „Jak wyłączyć REST API na mojej stronie WordPress?” I szczerze mówiąc, jest to uzasadniona obawa.

Kiedy WordPress w wersji 4.4 został wydany z JSON REST API, otworzyło to świat możliwości dla programistów.

Jednak dla wielu właścicieli witryn, którzy nie potrzebują tych zaawansowanych funkcji, API może wydawać się niepotrzebnym dodatkiem, który potencjalnie naraża ich witrynę na ryzyko bezpieczeństwa.

W tym artykule pokażemy, jak łatwo wyłączyć JSON REST API w WordPress.

Wyłącz JSON REST API w WordPress

Dlaczego wyłączyć JSON REST API w WordPress?

Nie można zaprzeczyć, że API oferuje wiele korzyści dla programistów WordPress. API ułatwia pobieranie danych za pomocą żądań GET, co jest przydatne dla tych, którzy tworzą aplikacje z WordPress.

Mając to na uwadze, może to potencjalnie otworzyć Twoją witrynę na nowy front ataków DDoS. Może to również obciążać zasoby i spowalniać Twoją witrynę WordPress.

Wyłączenie JSON REST API jest podobne do wyłączenia XML-RPC, które wielu administratorów witryn wyłącza na swoich stronach WordPress, aby zachować ostrożność.

Powiedziawszy to, pokażemy Ci dwie metody łatwego wyłączenia JSON REST API w WordPress. Po prostu użyj poniższych szybkich linków, aby przejść do metody, której chcesz użyć:

Metoda 1. Wyłączanie JSON REST API w WordPressie za pomocą kodu (zalecane)

Jeśli chodzi o zmianę funkcjonalności WordPress, używanie fragmentów kodu jest często najlepszym podejściem. Jednak bezpośrednia edycja pliku functions.php Twojego motywu może być ryzykowna i może zepsuć Twoją witrynę, jeśli nie zostanie wykonana poprawnie.

Dlatego zalecamy użycie wtyczki WPCode do wyłączenia JSON REST API w WordPress.

To ta sama wtyczka, której używamy na naszych własnych stronach internetowych, aby bezpiecznie dodawać niestandardowy kod w WordPress bez edycji plików motywu.

Aby dowiedzieć się więcej o tym, jak używamy wtyczki, zapoznaj się z naszą pełną recenzją WPCode.

WPCode

Ponadto WPCode zawiera wbudowaną bibliotekę kodu, która zawiera zweryfikowane fragmenty kodu dla popularnych próśb o funkcje, takie jak wyłączenie REST API, wyłączenie XML-RPC i wiele innych.

Oszczędza to instalowanie wielu wtyczek jednorazowego użytku do różnych zadań.

Aby rozpocząć, musisz zainstalować i aktywować darmową wtyczkę WPCode. Instrukcje krok po kroku znajdziesz w naszym przewodniku jak zainstalować wtyczkę WordPress.

Uwaga: darmowa wersja WPCode zawiera wszystko, czego potrzebujesz, aby łatwo dodawać niestandardowy kod w WordPress. Ale jeśli chcesz zaawansowanych funkcji, takich jak prywatna biblioteka fragmentów kodu w chmurze, fragmenty kodu specyficzne dla strony i urządzenia, wersje kodu i wiele więcej, możesz przejść na WPCode Pro.

Po aktywacji wtyczki przejdź do Fragmenty kodu » Biblioteka z panelu administracyjnego WordPress.

Następnie wyszukaj fragment kodu „Wyłącz WordPress REST API” i kliknij przycisk „Użyj fragmentu”.

Wybierz opcję Wyłącz WordPress REST API w WPCode

Wtyczka automatycznie doda kod za Ciebie i wybierze odpowiednią metodę wstawiania.

WPCode automatycznie dodaje fragment wyłączający JSON REST API

Wszystko, co musisz zrobić, to przełączyć przełącznik z „Nieaktywny” na „Aktywny”.

Następnie kliknij przycisk „Zaktualizuj”.

Przełącz fragment kodu na Aktywny i kliknij Aktualizuj w WPCode

To wszystko. Teraz JSON REST API jest wyłączone na Twojej stronie WordPress.

Metoda 2. Wyłączanie JSON REST API w WordPress za pomocą wtyczki

Możesz również łatwo wyłączyć JSON REST API za pomocą dedykowanego wtyczki.

Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i aktywowanie wtyczki Disable REST API. Aby uzyskać więcej szczegółów, zapoznaj się z naszym przewodnikiem krok po kroku, jak zainstalować wtyczkę WordPress.

Wtyczka działa od razu i nie ma żadnych ustawień do skonfigurowania.

Po aktywacji wtyczka będzie wymuszać zwracanie błędu uwierzytelniania na wszelkie żądania API od źródeł, które nie są zalogowane na Twojej stronie internetowej.

Zapobiegnie to skutecznie nieautoryzowanym żądaniom wykorzystującym REST API do pobierania informacji z Twojej witryny.

Możesz to przetestować, odwiedzając stronę http://example.com/wp-json. Pamiętaj, aby najpierw wylogować się z obszaru administracyjnego WordPress lub przełączyć przeglądarkę w tryb incognito.

Nie zapomnij zastąpić example.com swoją własną nazwą domeny. Zobaczysz tę wiadomość, wskazującą, że żądania REST API są blokowane.

REST API wyłączone

To wszystko, pomyślnie wyłączyłeś nieautoryzowane żądania REST API na swojej stronie WordPress.

Zamiast wyłączać WordPress REST API, możesz wybrać tylko wyłączenie linków REST API. Ukrywa to punkty końcowe API z kodu źródłowego Twojej witryny WordPress bez całkowitego wyłączania REST API.

Dzięki tej metodzie możesz poprawić bezpieczeństwo, utrudniając znalezienie punktów końcowych, jednocześnie zachowując normalne działanie wszystkich funkcji WordPress. Jest to popularny wybór wśród programistów, ponieważ dodaje bezpieczeństwa bez psucia motywów lub wtyczek, które potrzebują REST API do działania.

Aby to zrobić, musisz zainstalować i aktywować wtyczkę WPCode. Jeśli potrzebujesz pomocy, zapoznaj się z naszym poradnikiem na temat jak zainstalować wtyczkę WordPress.

Po aktywacji przejdź do Fragmenty kodu » Biblioteka z panelu administracyjnego WordPress.

Stamtąd wyszukaj fragment kodu „Wyłącz linki REST API”. Gdy go znajdziesz, najedź na niego kursorem i kliknij przycisk „Użyj fragmentu”.

Wyszukaj fragment Wyłącz REST API Links z biblioteki WPCode

Następnie WPCode automatycznie doda fragment kodu i wybierze odpowiednią metodę wstawienia.

WPCode doda kod do wyłączenia linków REST API

Teraz wystarczy przełączyć przełącznik z „Nieaktywny” na „Aktywny”.

Na koniec kliknij przycisk „Aktualizuj”.

Przełącz fragment kodu na Aktywny i kliknij Aktualizuj w WPCode

To proste. Teraz linki REST API będą wyłączone na Twojej stronie WordPress.

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak wyłączyć JSON REST API w WordPress. Użytkownicy dbający o bezpieczeństwo mogą również zapoznać się z tymi wskazówkami dotyczącymi ochrony obszaru administracyjnego WordPress lub sprawdzić nasze najlepsze wybory najlepszych wtyczek do tworzenia kopii zapasowych 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

41 CommentsLeave a Reply

  1. Szczególnie doceniam dwie metody, które przedstawiłeś, zwłaszcza podejście oparte na kodzie z wykorzystaniem WPCode. Jako właściciel strony, wahałem się z wyłączeniem API ze względu na jego korzyści, ale twoje wyjaśnienie potencjalnych zagrożeń bezpieczeństwa skłoniło mnie do ponownego przemyślenia.
    Jestem zainteresowany wtyczką WPCode i jej możliwością bezpiecznego zarządzania niestandardowymi fragmentami kodu. Z pewnością będę dalej zgłębiać to narzędzie do implementacji innych modyfikacji WordPressa, bez zaśmiecania mojej strony wtyczkami jednorazowego użytku.
    Dzięki za to. WPBeginner jest NAJLEPSZY!

  2. Doceniam jasność tego tutorialu na temat wyłączania JSON REST API w WordPress. Zastanawiam się jednak, czy całkowite wyłączenie API jest najlepszym podejściem, biorąc pod uwagę jego potencjalne korzyści dla funkcjonalności strony internetowej i integracji z innymi usługami.

    • Zależałoby to od właściciela witryny, czy byłoby to najlepsze dla jego potrzeb, czy nie, lub czy napotkał problem z jego używaniem.

      Admin

      • Dziękuję. Myślę, że kluczowe jest rozważenie potencjalnych zagrożeń bezpieczeństwa w porównaniu z korzyściami płynącymi z JSON REST API, biorąc pod uwagę unikalne potrzeby i okoliczności właściciela.

    • Cześć Dayo Olobayo,
      Pytanie dotyczy raczej tego, czy korzystasz z tego API, czy nie. To samo dotyczy XML-RPC. Ja nie używam go na swojej stronie internetowej, więc go zdezaktywowałem. Oczywiście oznacza to, że nie mogę połączyć się ze stroną internetową za pomocą na przykład aplikacji mobilnej WordPress, która używa XML-RPC do połączenia. To zawsze kompromis między tym, co chcesz wyłączyć, a tym, na co chcesz zezwolić. Każde API, które akceptuje zewnętrzne żądania, może stanowić potencjalne ryzyko, i po prostu chodzi o to, czy chcesz z niego korzystać, czy nie.

  3. Spróbowałbym wtyczki wyłączającej w środowisku deweloperskim przed produkcyjnym, odkryłem, że jej instalacja zepsuła niektóre funkcje

    • Jeśli masz wiele różnych wtyczek i narzędzi oraz środowisko testowe, zdecydowanie warto przetestować nowe wtyczki i ich interakcję z Twoją witryną.

      Admin

  4. Podobnie jak poprzedni komentujący, zauważyłem żądanie „wp-json” podczas korzystania z Pingdom i innych stron testowych. Niestety, moje ładowanie trwa ponad 10 sekund (Tak, naprawdę!!). To wydłuża całkowity czas ładowania mojej witryny i nie mogę tego naprawić. Wtyczka wcale tego nie zmienia. Jakieś sugestie?

  5. Skąd mam wiedzieć, czy faktycznie mam JSON API na mojej stronie internetowej?
    Ten artykuł o jego usuwaniu jest dobry – jeśli go potrzebuję – ale często alarmowały mnie pewne ostrzeżenia, tylko po to, by odkryć, że nawet mnie nie dotyczyły.

  6. Nienawidzę dodawać kolejnej wtyczki do wykonania prostego zadania i odkryłem, że możemy wyłączyć tę funkcjonalność, dodając następujący fragment kodu do pliku functions.php.

    add_filter(‘rest_enabled’, ‘_return_false’);
    add_filter(‘rest_jsonp_enabled’, ‘_return_false’);

  7. Czy dotyczy to tylko blogów hostowanych samodzielnie, czy również darmowych stron blogowych? Ponieważ prawie wszystkie wtyczki… itp. są gotowe, gdy nie jesteś hostowany samodzielnie.

    PS Nie subskrybuję… po prostu chcę odpowiedzi

  8. Jak mogę sprawdzić, czy moja strona ma Rest API. Wyłączyłem wiele dodatków, kiedy ją konfigurowałem, ale teraz nie wiem, gdzie szukać, aby sprawdzić, czy jest tam. Nie chcę niepotrzebnie pobierać wtyczki.

    • Cześć Elaine,

      Możesz sprawdzić, czy REST API jest włączone na Twojej stronie, odwiedzając adres URL podobny do tego: example.com/wp-json. Upewnij się, że jesteś wylogowany z WordPressa przed wykonaniem tej czynności. Jeśli zobaczysz dużo informacji w postaci zwykłego tekstu, oznacza to, że REST API jest włączone na Twojej stronie. Postępuj zgodnie z powyższymi instrukcjami, aby je wyłączyć.

      Admin

  9. Czy wyłączenie REST API jest odpowiednie dla witryn e-commerce, takich jak WooCommerce? Z tego, co rozumiem, WooCommerce w dużej mierze korzysta z REST-API.

    Ponadto moi kupujący nie muszą się logować, aby dokonać zakupu, więc co dzieje się z transakcją, gdy wywołanie REST API zostanie odrzucone?

    Pozdrawiam, Ken

  10. Wtyczka nie robi dla mnie żadnej różnicy w WP 4.7.2. Niezależnie od tego, czy wtyczka jest aktywowana, czy wyłączona, strony example.com/wp-json (z moją domeną zastępującą „example”) wyświetlają ogromną listę ustawień mojej witryny.

    • Hmmm. Teraz, gdy się temu przyglądam, widzę listę tylko w Safari, podczas gdy Chrome i Firefox na Maca pokazują oczekiwany komunikat określony w tym poście.

    • Cześć,

      Upewnij się, że jesteś wylogowany z obszaru administracyjnego WordPressa lub użyj trybu incognito przed przetestowaniem strony example.com/wp-json. Wtyczka wyłącza dostęp do strony tylko dla nieautoryzowanych użytkowników. Jako administrator nadal będziesz mógł ją zobaczyć.

      Admin

  11. Cześć wszystkim,

    Przede wszystkim dziękuję bardzo za to, co robisz! Nauczyłem się tak wiele o Wordpressie od Ciebie i wysłałem do Ciebie mnóstwo ludzi!!

    Ok, zainstalowałem wtyczkę, ale nie widzę tego, co sugerujesz powyżej? Mam cały ekran informacji...?

    Myśli?

    Dzięki!

  12. Postępowałem zgodnie z tymi krokami, ale kiedy sprawdziłem to z przykładem itp., otrzymałem 2 strony kodu, a nie odpowiedź pokazaną powyżej. Hmmm, nie wiem, co robić.

  13. Kiedy uruchomiłem test, myślę, że się nie powiódł, ponieważ na ekranie pojawiła się ogromna ilość danych. Czy masz pomysł, co mogło nie zadziałać? Zainstalowałem wtyczkę zgodnie z opisem…

    • Działa idealnie, kiedy sprawdzam w oknie incognito. Dziękuję za wyjaśnienie dotyczące autoryzowanych i nieautoryzowanych lub anonimowych użytkowników.

  14. Dzięki za wskazówkę, a także za haczyk do wyłączenia XMLRPC.
    Czy jest szansa na haczyk filtrujący również dla REST API?

  15. Kiedy sprawdzam prędkość mojej witryny za pomocą pingdom.com, pierwszy wpis HTML, który próbował się załadować, pokazuje link jako mydomain.com/wp-json i ma ponad 2 sekundy czasu „oczekiwania”. Czy to to samo, o czym mówi ten artykuł? Waham się, czy po prostu go wyłączyć, ponieważ zakładam, że będzie używany w przyszłości. Czy masz pomysł, dlaczego ładowanie czegokolwiek na stronie zajmuje ponad 2 sekundy?

  16. Hmm, REST API stanie się standardowym sposobem, w jaki wtyczki i motywy będą wykonywać wywołania Ajax do serwera z front-endu, zastępując admin-ajax, więc nie wyłączałbym go… Mam nadzieję, że zadziałają poprawnie, ale prawie na pewno stracisz jakąś funkcjonalność.

    Also, if you really want to protect against DDoS attacks, you better disable html as well! ;)

    • ponad 50 000 stron internetowych WordPress zostało zhakowanych z powodu poważnej luki w zabezpieczeniach odkrytej w WordPress REST API.

      • AUĆ!

        To niepokojąca informacja. Zauważyłem DUŻO prób dostępu w logach mojej witryny.

        Co więcej,

        Myślę, że ludzie z WordPressa mogliby się trochę bardziej postarać, pozwalając użytkownikom decydować, w jakim stopniu, jeśli w ogóle, chcą udostępniać REST API.

        Ponownie,

        Więcej tego, „Deweloperzy wiedzą WIĘCEJ o potrzebach użytkownika niż sam użytkownik!” – Ja również nie byłem zadowolony z konieczności wspierania EMOJI i zdalnie ładowanych czcionek z fonts.google.com, mimo że moje witryny ich nie używają!

        REST API może być błogosławieństwem dla (niektórych) prawdziwych deweloperów aplikacji internetowych, ale co z resztą z nas, którzy raczej tego nie użyjemy? ? ?

  17. Jakie jest prawdopodobieństwo, że wtyczka będzie korzystać z tej funkcjonalności? Czy na przykład formularze kontaktowe by z tego korzystały? Nie chcę tego wyłączać na wypadek, gdyby coś się zepsuło.

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ę.