Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să dezactivați API-ul REST JSON în WordPress

Recent am primit o întrebare de la un cititor pe care o auzim destul de des pe aici: „Cum dezactivez API-ul REST pe site-ul meu WordPress?” Și, sincer, este o preocupare validă.

Când a fost lansată versiunea 4.4 a WordPress cu JSON REST API, aceasta a deschis o lume de posibilități pentru dezvoltatori.

Cu toate acestea, pentru mulți proprietari de site-uri care nu au nevoie de aceste funcționalități avansate, API-ul poate părea o adăugare inutilă care, potențial, le expune site-ul la riscuri de securitate.

În acest articol, vă vom arăta cum să dezactivați cu ușurință JSON REST API în WordPress.

Dezactivare API REST JSON în WordPress

De ce să dezactivați JSON REST API în WordPress?

Nu se poate nega că API-ul are o mulțime de beneficii pentru dezvoltatorii WordPress. API-ul face extrem de ușoară preluarea datelor folosind cereri GET, ceea ce este util pentru cei care construiesc aplicații cu WordPress.

Acestea fiind spuse, acest lucru ar putea deschide site-ul dvs. unui nou front de atacuri DDoS. De asemenea, poate fi intensiv în resurse și poate încetini site-ul dvs. WordPress.

Dezactivarea API-ului REST JSON este similară cu dezactivarea XML-RPC, pe care mulți administratori de site-uri o dezactivează pe site-urile lor WordPress doar pentru a fi în siguranță.

Acestea fiind spuse, îți vom arăta două metode pentru a dezactiva cu ușurință REST API-ul JSON în WordPress. Pur și simplu folosește linkurile rapide de mai jos pentru a sări la metoda pe care vrei să o folosești:

Metoda 1. Dezactivarea API-ului REST JSON în WordPress cu cod (Recomandat)

Când vine vorba de modificarea funcționalității WordPress, utilizarea fragmentelor de cod este adesea cea mai bună abordare. Dar, editarea directă a fișierului functions.php al temei dvs. poate fi riscantă și ar putea defecta site-ul dvs. dacă nu este făcută corect.

De aceea recomandăm utilizarea plugin-ului WPCode pentru a dezactiva JSON REST API în WordPress.

Este același plugin pe care îl folosim pe propriile noastre site-uri web pentru a adăuga cod personalizat în WordPress în siguranță, fără a edita fișierele temei.

Pentru a afla mai multe despre cum folosim pluginul, consultați recenzia noastră completă WPCode aici.

WPCode

În plus, WPCode vine cu o bibliotecă de coduri încorporată care include fragmente de cod verificate pentru solicitări populare de funcționalități, cum ar fi dezactivarea REST API, dezactivarea XML-RPC și multe altele.

Acest lucru vă scutește de instalarea mai multor pluginuri de unică folosință pentru diferite sarcini.

Pentru a începe, trebuie să instalați și să activați pluginul gratuit WPCode. Pentru instrucțiuni pas cu pas, citiți ghidul nostru despre cum să instalați un plugin WordPress.

Notă: versiunea gratuită a WPCode are tot ce ai nevoie pentru a adăuga cu ușurință cod personalizat în WordPress. Dar, dacă dorești funcționalități avansate precum o bibliotecă privată de fragmente de cod în cloud, fragmente de cod specifice paginii și dispozitivului, revizuiri de cod și multe altele, poți face upgrade la WPCode Pro.

După ce pluginul este activat, accesează Fragmente de cod » Bibliotecă din tabloul de bord WordPress.

Apoi, căutați fragmentul „Dezactivare API REST WordPress” și faceți clic pe butonul „Utilizați fragmentul”.

Selectați Dezactivare WordPress REST API în WPCode

Pluginul va adăuga automat codul pentru dvs. și va selecta, de asemenea, metoda de inserare corectă.

WPCode adaugă automat fragmentul de cod pentru Dezactivarea JSON REST API

Tot ce trebuie să faceți este să comutați comutatorul de la „Inactiv” la „Activ”.

Apoi, faceți clic pe butonul „Actualizare”.

Comutați fragmentul de cod la Activ și faceți clic pe Actualizare în WPCode

Atât. Acum JSON REST API este dezactivat pe site-ul tău WordPress.

Metoda 2. Dezactivarea API-ului REST JSON în WordPress cu un plugin

Puteți, de asemenea, să dezactivați cu ușurință API-ul REST JSON cu ajutorul unui plugin dedicat.

Primul lucru pe care trebuie să îl faceți este să instalați și să activați pluginul Disable REST API. Pentru mai multe detalii, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.

Pluginul funcționează imediat și nu există setări pe care să le configurați.

La activare, pluginul va returna forțat o eroare de autentificare oricăror solicitări API din surse care nu sunt conectate la site-ul dvs. web.

Acest lucru va împiedica în mod eficient solicitările neautorizate să utilizeze REST API pentru a obține informații de pe site-ul dvs.

Puteți testa acest lucru vizitând pagina http://example.com/wp-json. Asigurați-vă că v-ați deconectat din zona de administrare WordPress mai întâi, sau comutați browserul în modul incognito.

Nu uita să înlocuiești example.com cu propriul tău nume de domeniu. Vei vedea acest mesaj, indicând că cererile REST API sunt blocate.

REST API dezactivat

Atât. Ați dezactivat cu succes cererile neautorizate API REST pe site-ul dvs. WordPress.

În loc să dezactivați WordPress REST API, puteți alege să dezactivați doar linkurile REST API. Acest lucru ascunde punctele finale ale API-ului din codul sursă al site-ului dvs. WordPress fără a dezactiva complet REST API.

Cu această metodă, puteți îmbunătăți securitatea făcând punctele finale mai greu de găsit, păstrând în același timp toate funcționalitățile WordPress funcționale. Este o alegere populară printre dezvoltatori, deoarece adaugă securitate fără a afecta temele sau plugin-urile care necesită REST API pentru a funcționa.

Pentru a face acest lucru, trebuie să instalați și să activați pluginul WPCode. Dacă aveți nevoie de ajutor, consultați tutorialul nostru despre cum se instalează un plugin WordPress.

La activare, accesați Snippets de cod » Bibliotecă din tabloul de bord WordPress.

De acolo, căutați fragmentul „Dezactivare linkuri REST API”. Când îl găsiți, treceți cu mouse-ul peste el și faceți clic pe butonul „Utilizați fragmentul”.

Căutați fragmentul Disable REST API Links din biblioteca WPCode

După aceea, WPCode va adăuga automat fragmentul de cod și va selecta metoda de inserare corectă.

WPCode va adăuga codul pentru dezactivarea linkurilor REST API

Acum, tot ce trebuie să faceți este să comutați comutatorul de la „Inactiv” la „Activ”.

În cele din urmă, apăsați butonul „Actualizare”.

Comutați fragmentul de cod la Activ și faceți clic pe Actualizare în WPCode

Este atât de simplu. Acum, linkurile REST API vor fi dezactivate pe site-ul tău WordPress.

Sperăm că acest articol v-a ajutat să învățați cum să dezactivați API-ul REST JSON în WordPress. Utilizatorii preocupați de securitate ar putea dori, de asemenea, să consulte aceste sfaturi despre protejarea zonei de administrare WordPress, sau să vadă selecțiile noastre de top pentru cele mai bune plugin-uri de backup WordPress.

Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

41 CommentsLeave a Reply

  1. Apreciez în mod deosebit cele două metode pe care le-ați prezentat, în special abordarea bazată pe cod folosind WPCode. Ca proprietar de site, am ezitat să dezactivez API-ul din cauza beneficiilor sale, dar explicația dumneavoastră despre potențialele riscuri de securitate m-a făcut să mă reconsider.
    Sunt interesat de pluginul WPCode și de capacitatea sa de a gestiona în siguranță fragmente de cod personalizate. Cu siguranță voi explora mai departe acest instrument pentru a implementa alte personalizări WordPress fără a-mi aglomera site-ul cu pluginuri cu scop unic.
    Mulțumesc pentru asta. WPBeginner este CEL MAI BUN!

  2. Apreciez claritatea acestui tutorial despre dezactivarea JSON REST API în WordPress. Cu toate acestea, mă întreb dacă dezactivarea completă a API-ului este cea mai bună abordare, având în vedere beneficiile sale potențiale pentru funcționalitatea site-ului web și integrarea cu alte servicii.

    • Ar depinde de proprietarul site-ului dacă ar fi cel mai bun pentru nevoile sale sau nu, sau dacă a întâmpinat o problemă în utilizarea sa.

      Admin

      • Mulțumesc. Presupun că este esențial să cântăriți riscurile potențiale de securitate în raport cu beneficiile API-ului REST JSON, luând în considerare nevoile și circumstanțele unice ale proprietarului.

    • Salut Dayo Olobayo,
      Întrebarea este mai mult despre dacă folosești sau nu acest API. Este la fel ca și cu XML-RPC. Eu nu îl folosesc pe site-ul meu, așa că l-am dezactivat. Desigur, asta înseamnă că nu mă pot conecta la site folosind, de exemplu, aplicația mobilă WordPress, care folosește XML-RPC pentru a se conecta. Este întotdeauna un compromis între ceea ce vrei să dezactivezi și ceea ce vrei să permiți. Orice API care acceptă cereri externe poate fi un risc potențial, și este pur și simplu o chestiune de dacă vrei să îl folosești sau nu.

  3. Aș încerca să dezactivez pluginul în mediul de dezvoltare înainte de producție, am constatat că instalarea lui a stricat unele funcționalități

    • Dacă aveți multe pluginuri și instrumente diferite și aveți un mediu de testare, atunci ar fi cu siguranță bine să testați noi pluginuri și cum interacționează cu site-ul dvs.

      Admin

  4. Similar cu un comentariu de mai sus, am observat cererea „wp-json” atunci când folosesc Pingdom și alte site-uri de testare. Din păcate, a mea durează peste 10 secunde (Da, serios!!) să se încarce. Acest lucru îmi afectează timpul total de încărcare al site-ului și nu pot să-mi dau seama cum să rezolv asta. Pluginul nu schimbă nimic. Aveți sugestii?

  5. Cum știu dacă am de fapt API JSON pe site-ul meu?
    Acest articol despre eliminarea lui este bun – dacă am nevoie de el – dar am fost adesea alarmat de anumite avertismente doar pentru a descoperi că nici măcar nu mi se aplicau.

  6. Urăsc să adaug încă un plugin pentru a face o sarcină simplă și am descoperit că putem dezactiva această funcționalitate adăugând următorul fragment de cod în fișierul functions.php.

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

  7. Este doar pentru bloguri auto-găzduite sau include site-uri de blog gratuite? Deoarece majoritatea pluginurilor... etc. sunt făcute pentru tine atunci când nu ești auto-găzduit

    PS Nu mă abonez... vreau doar un răspuns

  8. Cum pot verifica dacă site-ul meu are Rest API. Am dezactivat multe opțiuni suplimentare când l-am configurat inițial, dar acum nu știu unde să caut pentru a vedea dacă este acolo. Nu doresc să descarc un plugin inutil.

    • Salut Elaine,

      Puteți verifica dacă API-ul REST este activat pe site-ul dvs. vizitând URL-ul de genul example.com/wp-json. Asigurați-vă că sunteți deconectat de la WordPress înainte de a face acest lucru. Dacă vedeți multe informații în text simplu, atunci înseamnă că API-ul REST este activat pe site-ul dvs. Urmați instrucțiunile de mai sus pentru a-l dezactiva.

      Admin

  9. Este dezactivarea REST API potrivită pentru site-uri de comerț electronic precum WooCommerce? Înțelegerea mea este că WooCommerce folosește destul de mult REST-API.

    Mai mult, cumpărătorii mei nu trebuie să se autentifice pentru a cumpăra, deci ce se întâmplă cu tranzacția atunci când un apel REST API este respins?

    Cu stimă, Ken

  10. Pluginul nu face nicio diferență pentru mine în WP 4.7.2. Cu pluginul activat sau dezactivat, paginile example.com/wp-json (cu domeniul meu înlocuind „example”) oferă o listă masivă de setări pentru site-ul meu.

    • Hmmmm. Acum, când mă uit la asta, văd lista doar în Safari, în timp ce Chrome și Firefox pentru Mac afișează mesajul așteptat specificat în această postare.

    • Salut,

      Asigurați-vă că sunteți deconectat din zona de administrare WordPress sau folosiți modul incognito înainte de a testa pagina example.com/wp-json. Pluginul dezactivează accesul la pagină doar pentru utilizatorii neautorizați. Ca administrator, veți putea în continuare să o vedeți.

      Admin

  11. Salutare, băieți,

    În primul rând, mulțumesc mult pentru tot ce faci! Am învățat atât de multe despre Wordpress de la tine și am trimis o mulțime de oameni în direcția ta!!

    Ok, am instalat plugin-ul, dar nu văd ce sugerați mai sus? Am un ecran plin de informații…?

    Păreri?

    Mulțumesc!

    • Salut Audra,

      Vă rugăm să vă deconectați sau să folosiți fereastra de incognito pentru a testa. Plugin-ul dezactivează accesul doar pentru utilizatorii nelogați.

      Admin

  12. Am urmat acești pași, dar când am verificat cu exemplul etc., am primit 2 pagini de cod, nu răspunsul afișat mai sus. Hmmm, nu știu ce să fac.

  13. Când am rulat testul, cred că a eșuat, deoarece am primit o mulțime de date pe ecran. Ai idee ce s-ar fi putut să nu funcționeze? Am instalat pluginul conform descrierii...

    • Funcționează perfect când verific folosind o fereastră incognito. Mulțumesc pentru explicația referitoare la utilizatorii autorizați vs neautorizați sau anonimi.

  14. Mulțumesc pentru pont, precum și pentru hook-ul de dezactivare a XMLRPC.
    Există o șansă pentru un hook de filtrare și pentru REST API?

  15. Când verific viteza site-ului meu folosind pingdom.com, prima intrare HTML care a încercat să se încarce arată linkul ca mydomain.com/wp-json și are peste 2 secunde de timp de „așteptare”. Este același lucru despre care vorbește acest articol? Ezit să îl dezactivez pur și simplu, deoarece aș presupune că va fi folosit în viitor. Aveți idee de ce ar adăuga o întârziere de peste 2 secunde la încărcarea oricărui element de pe pagină?

  16. Hmm, API-ul REST va deveni metoda standard pentru pluginuri și teme de a face apeluri Ajax către server din partea frontală, înlocuind admin-ajax, așa că nu aș dezactiva-o… Sperăm că vor eșua grațios, dar aproape că veți ajunge să pierdeți o anumită funcționalitate.

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

    • peste 50.000 de site-uri web WordPress au fost sparte din cauza unei vulnerabilități majore de securitate descoperite în API-ul REST WordPress.

      • AUCH!

        Este tulburător de știut. Am observat MULTE încercări de acces în logurile site-ului meu.

        Mai mult decât atât,

        Cred că cei de la WordPress ar fi putut face puțin mai mult pentru a lăsa utilizatorii să decidă cât de mult, dacă deloc, doresc ca REST API-ul să fie expus.

        Din nou,

        Mai mult din asta, „Dezvoltatorii știu MAI MULTE despre nevoile utilizatorului decât utilizatorul!” – Nici eu nu am fost prea mulțumit că am fost forțat să suport EMOJI și fonturi încărcate de la distanță de pe fonts.google.com, chiar dacă site-urile mele nu le folosesc!

        API-ul REST poate fi un avantaj pentru (unii) dezvoltatori de aplicații web, dar ce ne facem cu restul dintre noi care nu-l vom folosi prea probabil? ? ?

  17. Cât de probabil este ca un plugin să folosească această funcționalitate. Doar ca exemplu, formularele de contact ar utiliza acest lucru? Nu sunt dispus să o dezactivez în caz că strică ceva.

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.