Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come disabilitare la JSON REST API in WordPress

Abbiamo recentemente ricevuto una domanda da un lettore che sentiamo abbastanza spesso qui: "Come disabilito la REST API sul mio sito WordPress?" E onestamente, è una preoccupazione valida.

Quando è stata rilasciata la versione 4.4 di WordPress con la REST API JSON, si è aperto un mondo di possibilità per gli sviluppatori.

Tuttavia, per molti proprietari di siti che non necessitano di queste funzionalità avanzate, l'API può sembrare un'aggiunta non necessaria che potenzialmente espone il loro sito a rischi per la sicurezza.

In questo articolo, ti mostreremo come disabilitare facilmente la REST API JSON in WordPress.

Disabilita JSON REST API in WordPress

Perché disabilitare la REST API JSON in WordPress?

Non si può negare che l'API offra molti vantaggi agli sviluppatori WordPress. L'API rende estremamente facile recuperare dati tramite richieste GET, il che è utile per chi crea app con WordPress.

Detto questo, questo potrebbe potenzialmente esporre il tuo sito web a un nuovo fronte di attacchi DDoS. Può anche essere intensivo in termini di risorse e rallentare il tuo sito web WordPress.

Disabilitare la REST API JSON è simile a disabilitare XML-RPC, che molti amministratori di siti disabilitano sui loro siti WordPress solo per stare sul sicuro.

Detto questo, ti mostreremo due metodi per disabilitare facilmente la REST API JSON in WordPress. Utilizza semplicemente i collegamenti rapidi qui sotto per passare al metodo che desideri utilizzare:

Metodo 1. Disabilitare la REST API JSON in WordPress con il codice (Consigliato)

Quando si tratta di modificare la funzionalità di WordPress, l'uso di snippet di codice è spesso l'approccio migliore. Tuttavia, modificare direttamente il file functions.php del tuo tema può essere rischioso e potrebbe causare problemi al tuo sito se non fatto correttamente.

Ecco perché consigliamo di utilizzare il plugin WPCode per disabilitare l'API JSON REST in WordPress.

È lo stesso plugin che utilizziamo sui nostri siti web per aggiungere facilmente codice personalizzato in WordPress senza modificare i file del tema.

Per saperne di più su come utilizziamo il plugin, consulta la nostra recensione completa di WPCode.

WPCode

Inoltre, WPCode è dotato di una libreria di codice integrata che include snippet di codice verificati per richieste di funzionalità comuni come disabilitare l'API REST, disabilitare XML-RPC e molto altro.

Questo ti evita di installare più plugin monouso per attività diverse.

Per iniziare, devi installare e attivare il plugin gratuito WPCode. Per istruzioni passo passo, leggi la nostra guida su come installare un plugin WordPress.

Nota: La versione gratuita di WPCode ha tutto ciò che ti serve per aggiungere facilmente codice personalizzato in WordPress. Ma, se desideri funzionalità avanzate come una libreria di snippet in cloud privato, snippet specifici per pagina e dispositivo, revisioni del codice e altro ancora, puoi passare a WPCode Pro.

Una volta attivato il plugin, vai su Snippet di codice » Libreria dalla tua bacheca di WordPress.

Quindi, cerca lo snippet ‘Disabilita REST API di WordPress’ e fai clic sul pulsante ‘Usa snippet’.

Seleziona Disabilita WordPress REST API in WPCode

Il plugin aggiungerà quindi automaticamente il codice per te e selezionerà anche il metodo di inserimento corretto.

WPCode aggiunge automaticamente lo snippet Disabilita JSON REST API

Tutto quello che devi fare è spostare l'interruttore da 'Non attivo' ad 'Attivo'.

Quindi, fai clic sul pulsante 'Aggiorna'.

Attiva lo snippet di codice e fai clic su Aggiorna in WPCode

Fatto. Ora l'API REST JSON è disabilitata sul tuo sito WordPress.

Metodo 2. Disabilitare la REST API JSON in WordPress con un plugin

Puoi anche disabilitare facilmente l'API REST JSON con l'aiuto di un plugin dedicato.

La prima cosa che devi fare è installare e attivare il plugin Disable REST API. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.

Il plugin funziona subito e non ci sono impostazioni da configurare.

Dopo l'attivazione, il plugin restituirà forzatamente un errore di autenticazione a qualsiasi richiesta API da fonti non connesse al tuo sito web.

Ciò impedirà efficacemente alle richieste non autorizzate di utilizzare l'API REST per ottenere informazioni dal tuo sito web.

Puoi testarlo visitando la pagina http://example.com/wp-json. Assicurati di disconnetterti dall'area amministratore di WordPress prima, o cambia il tuo browser in modalità incognito.

Non dimenticare di sostituire example.com con il tuo nome di dominio. Vedrai questo messaggio, che indica che le richieste API REST sono bloccate.

REST API Disabilitata

Tutto qui, hai disabilitato con successo le richieste API REST non autorizzate sul tuo sito WordPress.

Invece di disabilitare l'API REST di WordPress, puoi scegliere di disabilitare solo i link dell'API REST. Questo nasconde gli endpoint dell'API dal codice sorgente del tuo sito WordPress senza disattivare completamente l'API REST.

Con questo metodo, puoi migliorare la sicurezza rendendo gli endpoint più difficili da trovare, mantenendo al contempo tutte le funzionalità di WordPress operative normalmente. È una scelta popolare tra gli sviluppatori poiché aggiunge sicurezza senza interrompere temi o plugin che necessitano dell'API REST per funzionare.

Per fare ciò, devi installare e attivare il plugin WPCode. Se hai bisogno di aiuto, consulta il nostro tutorial su come installare un plugin WordPress.

Dopo l'attivazione, vai su Snippet di codice » Libreria dalla tua dashboard di WordPress.

Da lì, cerca lo snippet 'Disabilita collegamenti REST API'. Quando lo trovi, passaci sopra con il mouse e fai clic sul pulsante 'Usa snippet'.

Cerca lo snippet Disabilita REST API Links dalla libreria WPCode

Successivamente, WPCode aggiungerà automaticamente lo snippet di codice e selezionerà il metodo di inserimento corretto.

WPCode aggiungerà il codice per disabilitare i link REST API

Ora, tutto ciò che devi fare è cambiare l'interruttore da 'Inattivo' ad 'Attivo'.

Infine, premi il pulsante 'Aggiorna'.

Attiva lo snippet di codice e fai clic su Aggiorna in WPCode

È così semplice. Ora, i collegamenti dell'API REST saranno disabilitati sul tuo sito web WordPress.

Speriamo che questo articolo ti abbia aiutato a imparare come disabilitare la JSON REST API in WordPress. Gli utenti attenti alla sicurezza potrebbero anche voler consultare questi suggerimenti su come proteggere l'area di amministrazione di WordPress, o vedere le nostre scelte di esperti dei migliori plugin di backup per WordPress.

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

41 CommentsLeave a Reply

  1. Apprezzo particolarmente i due metodi che hai delineato, specialmente l'approccio basato sul codice utilizzando WPCode. Come proprietario di un sito, ero esitante a disabilitare l'API a causa dei suoi benefici, ma la tua spiegazione dei potenziali rischi per la sicurezza mi ha fatto riconsiderare.
    Sono interessato dal plugin WPCode e dalla sua capacità di gestire in modo sicuro snippet di codice personalizzati. Esplorerò sicuramente questo strumento ulteriormente per implementare altre personalizzazioni di WordPress senza ingombrare il mio sito con plugin monouso.
    Grazie per questo. WPBeginner è IL MIGLIORE!

  2. Apprezzo la chiarezza di questo tutorial sulla disabilitazione della JSON REST API in WordPress. Tuttavia, mi chiedo se disabilitare completamente l'API sia l'approccio migliore considerando i suoi potenziali benefici per la funzionalità del sito web e l'integrazione con altri servizi.

    • Dipenderebbe dal proprietario del sito se fosse la soluzione migliore per le sue esigenze o meno, o se avesse riscontrato un problema nell'utilizzarla.

      Amministratore

      • Grazie. Suppongo sia essenziale valutare i potenziali rischi per la sicurezza rispetto ai vantaggi dell'API REST JSON considerando le esigenze e le circostanze uniche del proprietario.

    • Ciao Dayo Olobayo,
      La domanda riguarda più che altro se utilizzi questa API o meno. È lo stesso che con XML-RPC. Io non la uso sul mio sito web, quindi l'ho disattivata. Naturalmente, questo significa che non posso connettermi al sito web usando, ad esempio, l'app mobile di WordPress, che usa XML-RPC per connettersi. È sempre un compromesso tra ciò che vuoi disabilitare e ciò che vuoi consentire. Qualsiasi API che accetta richieste esterne può rappresentare un rischio potenziale, ed è semplicemente una questione di se vuoi usarla o meno.

  3. Proverei il plugin di disattivazione in un ambiente di sviluppo prima della produzione, ho scoperto che installarlo ha rotto alcune funzionalità

    • Se hai molti plugin e strumenti diversi e un ambiente di test, allora sarebbe sicuramente utile testare nuovi plugin e come interagiscono con il tuo sito.

      Amministratore

  4. Simile a un commentatore precedente, ho notato la richiesta "wp-json" quando uso Pingdom e altri siti di test. Sfortunatamente, la mia impiega oltre 10 secondi (Sì, davvero!!) per caricarsi. Questo aumenta il tempo di caricamento complessivo del mio sito web e non riesco a capire come risolvere questo problema. Il plugin non cambia nulla. Suggerimenti?

  5. Come faccio a sapere se ho effettivamente l'API JSON sul mio sito web?
    Questo articolo sulla rimozione è buono – se ne avessi bisogno – ma sono stato spesso allarmato da certi avvisi solo per scoprire che non mi erano nemmeno applicabili.

  6. Odio aggiungere un altro plugin per svolgere un semplice compito, e ho scoperto che possiamo disabilitare questa funzionalità aggiungendo il seguente snippet di codice al file functions.php.

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

  7. Questo è solo per blog self-hosted o include siti di blog gratuiti? La maggior parte dei plugin... ecc. sono già pronti per te quando non sei self-hosted

    PS Non mi iscriverò... voglio solo una risposta

  8. Come posso verificare se il mio sito ha l'API REST? Ho disattivato molti extra quando l'ho configurato per la prima volta, ma ora non so dove cercare per vedere se è presente. Non ho voglia di scaricare un plugin inutilmente.

    • Ciao Elaine,

      Puoi verificare se l'API REST è abilitata sul tuo sito visitando l'URL come questo esempio.com/wp-json. Assicurati di aver effettuato l'accesso a WordPress prima di farlo. Se vedi molte informazioni in testo semplice, significa che l'API REST è abilitata sul tuo sito. Segui le istruzioni sopra per disattivarla.

      Amministratore

  9. Disabilitare l'API REST è adatto per siti e-commerce come WooCommerce? La mia comprensione è che WooCommerce utilizzi abbastanza l'API REST.

    Inoltre, i miei acquirenti non devono accedere per acquistare, quindi cosa succede alla transazione quando una chiamata API REST viene rifiutata?

    Cordiali saluti, Ken

  10. Il plugin non fa alcuna differenza per me in WP 4.7.2. Con il plugin attivato o disattivato, le pagine example.com/wp-json (con il mio dominio al posto di "example") mostrano un enorme elenco di impostazioni per il mio sito.

    • Hmmmm. Ora che ci guardo, vedo l'elenco solo in Safari, mentre Chrome e Firefox per Mac mostrano il messaggio previsto specificato in questo post.

    • Ciao,

      Assicurati di aver effettuato l'accesso all'area amministrativa di WordPress o di utilizzare la modalità di navigazione in incognito prima di testare la pagina example.com/wp-json. Il plugin disabilita l'accesso alla pagina solo per gli utenti non autorizzati. Come amministratore, potrai comunque vederla.

      Amministratore

  11. Ciao ragazzi,

    Prima di tutto, grazie mille per quello che fai! Ho imparato tantissimo su Wordpress da te e ho mandato un sacco di gente nella tua direzione!!

    Ok, ho installato il plugin, ma non vedo quello che suggerisci sopra? Ho uno schermo pieno di informazioni…?

    Pensieri?

    Grazie!

    • Ciao Audra,

      Per favore, effettua il logout o usa una finestra di navigazione in incognito per testare. Il plugin disabilita l'accesso solo per gli utenti non registrati.

      Amministratore

  12. Ho seguito questi passaggi, ma quando sono andato a controllarlo con l'esempio ecc., ho ottenuto 2 pagine di codice, non la risposta mostrata sopra. Hmmm, non so cosa fare.

  13. Quando ho eseguito il test, penso che sia fallito, dato che ho ottenuto un sacco di dati sullo schermo. Hai idea di cosa potrebbe non aver funzionato? Ho installato il plugin come descritto…

    • Funziona perfettamente quando controllo usando una finestra di navigazione in incognito. Grazie per la spiegazione riguardo agli utenti autorizzati vs non autorizzati o anonimi.

  14. Grazie per il suggerimento e per l'hook per disabilitare XMLRPC.
    C'è una possibilità per un hook di filtro anche per la REST API?

  15. Quando controllo la velocità del mio sito usando pingdom.com, la prima voce HTML che ha tentato di caricare mostra il link come mydomain.com/wp-json e ha oltre 2 secondi di tempo di "attesa". È la stessa cosa di cui parla questo articolo? Sono riluttante a disabilitarlo semplicemente perché presumo che verrà utilizzato in futuro. Hai idea del perché aggiunga un ritardo di oltre 2 secondi al caricamento di qualsiasi elemento della pagina?

  16. Hmm, la REST API diventerà il modo standard per plugin e temi per effettuare chiamate Ajax al server dal frontend, sostituendo admin-ajax, quindi non la disabiliterei… Spero che falliscano con grazia, ma finirai quasi per perdere alcune funzionalità.

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

    • Oltre 50.000 siti web WordPress sono stati hackerati a causa di una grave vulnerabilità di sicurezza scoperta nella WordPress REST API.

      • OUCH!

        È inquietante saperlo. Ho notato MOLTI tentativi di accesso nei log del mio sito.

        Inoltre,

        Penso che il team di WordPress avrebbe potuto fare un po' meglio nel lasciare agli utenti la decisione su quanto, se del caso, desiderano esporre la REST API.

        Di nuovo,

        Più di questo, "Gli sviluppatori sanno PIÙ delle esigenze dell'utente di quanto ne sappia l'utente!" – Anche a me non è piaciuto essere costretto a supportare EMOJI e font caricati da remoto da fonts.google.com, anche se i miei siti non li usano!

        La REST API potrebbe essere un vantaggio per (alcuni) veri sviluppatori di applicazioni web, ma che dire del resto di noi che molto probabilmente non la useremo? ? ?

  17. Quanto è probabile che un plugin utilizzi questa funzionalità. Ad esempio, i moduli di contatto la utilizzerebbero? Non sono propenso a disattivarla nel caso in cui ciò possa causare problemi.

Lascia una risposta