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 XML-RPC in WordPress (Metodo Sicuro)

XML-RPC è un'API principale di WordPress che consente agli utenti di connettersi al proprio sito WordPress utilizzando app, strumenti e servizi di terze parti. Sfortunatamente, in passato, gli hacker hanno trovato modi per sfruttare XML-RPC per ottenere l'accesso ai siti WordPress.

Noi di WPBeginner abbiamo aiutato migliaia di utenti a proteggere il proprio sito WordPress e a disabilitare XML-RPC. Abbiamo scoperto che ci sono diversi modi per farlo, a seconda delle tue conoscenze tecniche.

Ad esempio, puoi disabilitare XML-RPC accedendo al file .htaccess o aggiungendo uno snippet di codice. Nel frattempo, se sei un principiante, esiste un plugin che disabilita il file principale senza la necessità di modificare il codice.

In questo articolo, ti mostreremo come disabilitare facilmente XML-RPC in WordPress utilizzando diversi metodi.

Disabilita facilmente XML-RPC in WordPress

Cos'è XML-RPC in WordPress?

XML-RPC è un'API principale di WordPress che è stata abilitata per impostazione predefinita dal rilascio di WordPress 3.5 nel 2012. Consente agli sviluppatori di utilizzare i protocolli XML e HTTPS per connettersi e interagire con il tuo sito WordPress.

In breve, hai bisogno di XML-RPC abilitato per accedere e pubblicare il tuo blog da remoto, ad esempio quando vuoi utilizzare un'app mobile per gestire il tuo sito o effettuare connessioni a servizi di automazione come Uncanny Automator o Zapier.

Tuttavia, se non stai utilizzando app mobili con il tuo sito web, allora alcuni esperti di sicurezza di WordPress potrebbero consigliarti di disabilitare XML-RPC. Questo chiude una porta che potrebbe potenzialmente essere sfruttata per hackerare il tuo sito web.

Detto questo, diamo un'occhiata a come disabilitare facilmente l'API XML-RPC in WordPress. Il metodo .htaccess è il migliore perché è il meno dispendioso in termini di risorse, e gli altri metodi sono più facili per i principianti.

Metodo 1: Disabilitare XML-RPC di WordPress con .htaccess (Avanzato)

Questo metodo è per utenti avanzati perché richiede la modifica del file .htaccess del tuo sito. Consigliamo ai principianti di utilizzare il Metodo 2 o 3.

Questo modo presenta diversi vantaggi, come la possibilità di dare accesso remoto a te stesso e al tuo team, limitando al contempo tutti gli altri. Inoltre, non influenzerà negativamente le prestazioni del tuo WordPress poiché disabilita le richieste XML-RPC prima che vengano passate a WordPress.

Dovrai aggiungere il seguente codice al tuo file .htaccess. Puoi farlo connettendoti al tuo sito utilizzando un client FTP o un file manager. Inoltre, gli utenti di All in One SEO possono utilizzare lo strumento di modifica integrato del plugin per aggiungere lo snippet di codice, come puoi vedere nello screenshot qui sotto.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
Usa AIOSEO Pro per disabilitare XML-RPC da htaccess

Se desideri concedere a un determinato utente l'accesso remoto al tuo sito, sostituisci semplicemente '123.123.123.123' alla riga 5 con il suo indirizzo IP. Puoi aggiungere più indirizzi IP separandoli con spazi.

Oppure, se vuoi disabilitare completamente XML-RPC, elimina del tutto la riga 5.

Nota: Se non riesci a trovare .htaccess, consulta la nostra guida su perché non riesci a trovare .htaccess in WordPress.

Metodo 2: Disabilitare XML-RPC di WordPress con uno snippet di codice (Consigliato)

Questo metodo richiede l'aggiunta di codice al tuo sito WordPress. Se non l'hai mai fatto prima, consulta la nostra guida su come copiare e incollare snippet di codice personalizzato in WordPress.

WPCode è il modo più semplice e sicuro per aggiungere codice al tuo sito WordPress. Ti aiuta a gestire i tuoi snippet di codice e previene errori che potrebbero compromettere il tuo sito.

In questo metodo, utilizzeremo uno degli snippet di codice integrati di WPCode per disabilitare XML-RPC.

Innanzitutto, devi installare il plugin gratuito WPCode. Per istruzioni dettagliate, consulta la nostra guida passo passo su come installare un plugin WordPress.

Dopo l'attivazione, vai su Snippet di codice » Aggiungi snippet. La libreria WPCode contiene già uno snippet che disabilita XML-RPC. Puoi trovarlo cercando 'xml.'

Una volta trovato, devi fare clic sul pulsante 'Usa snippet'.

Usa WPCode Library per disabilitare XML-RPC

Successivamente, devi impostare l'interruttore 'Attivo' sulla posizione 'On'.

Infine, assicurati di fare clic sul pulsante 'Aggiorna' per abilitare lo snippet sul tuo sito e disabilitare l'API XML-RPC.

Attiva lo snippet WPCode cliccando su Attiva e premendo Aggiorna

Metodo 3: Disabilitare XML-RPC di WordPress con un plugin

Questo è un metodo semplice che può essere utilizzato se non si desidera aggiungere altre personalizzazioni al proprio sito Web con un plugin per snippet di codice.

Installa e attiva semplicemente il plugin Disable XML-RPC-API. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin di WordPress.

Il plugin funziona subito e disattiverà immediatamente XML-RPC.

Puoi navigare su XML-RPC Security » XML-RPC Settings per configurare il plugin. Ad esempio, puoi consentire a determinati utenti di accedere a XML-RPC inserendo i loro indirizzi IP nella whitelist.

Le impostazioni del plugin Disabilita XML-RPC-API

Testare che XML-RPC di WordPress sia disabilitato

Ora dovresti verificare per assicurarti di aver disabilitato correttamente l'API XML-RPC sul tuo sito web WordPress.

Puoi anche verificare che XML-RPC sia disabilitato visitando semplicemente l'URL http://example.com/xmlrpc.php nel tuo browser. Assicurati di sostituire 'example.com' con il nome di dominio del tuo sito web.

Se XML-RPC è disabilitato, dovresti vedere il messaggio di errore: 'Forbidden: You don’t have permission to access this resource.'

Speriamo che questo articolo ti abbia aiutato a imparare come disabilitare facilmente XML-RPC in WordPress. Potresti anche voler consultare la nostra guida su come aggiungere facilmente JavaScript in WordPress e i migliori strumenti per lo sviluppo di 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

46 CommentsLeave a Reply

  1. Grazie per lo snippet. Alla fine, ho disabilitato XML-RPC usando WPCode perché sembrava il modo più semplice, e posso anche ripristinare facilmente XML-RPC. Ottimo!

  2. in htaccess, la riga:
    allow from 123.123.123.123
    sembra voler essere modificata con il mio indirizzo IP. Ma questo non è indicato da nessuna parte —?

    • Bloccare tenterebbe di limitare l'accesso alla funzionalità, mentre disabilitare la disattiverebbe completamente. Se la disabiliti, non dovresti preoccuparti che qualcuno vi acceda tramite un metodo diverso.

      Amministratore

  3. Il plugin consigliato Disable XML-RPC non è stato aggiornato negli ultimi 2 anni. Dice che il plugin non è stato testato con le ultime 3 versioni di WordPress.

  4. Ciao,

    La disabilitazione dell'accesso a xmlrpc.php disabiliterà anche l'accesso alle API di WordPress utilizzate per lo sviluppo di app Android/iOS?

  5. Soluzione trovata:
    Aggiungere le seguenti informazioni nella configurazione di nginx:
    # blocco nginx per richieste xmlrpc.php
    location /xmlrpc.php { deny all; }

  6. Uso nginx invece di Apache. Posso ancora usare .htaccess sul mio sito?
    E devo memorizzare questo file nella directory public_html, o un livello sopra di essa?

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

      Amministratore

  7. perché dovremmo consentire 123.123.123.123?

    Se non stiamo usando affatto il servizio, perché non lasciare che "deny all" sia assoluto?

    • Se sto leggendo il codice correttamente;
      order deny,allow – mette deny prima di allow, poiché deny è ‘all’ quindi allow non viene elaborato
      deny from all – fa quello che dice
      allow from 123.123.123.123 – è un segnaposto

      Immagino che se hai un indirizzo IP fisso potresti cambiare l'ordine in "allow,deny" e sostituire 123.123.123.123 con il tuo indirizzo IP. Questo permetterebbe il tuo IP e poi negherebbe tutti gli altri.

  8. 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 :-)

    Io e il mio .htaccess faremo una piccola chiacchierata su htpasswrd e questa cosa XMLRPC che i miei clienti non avranno mai bisogno.

    Avete reso un po' più sicuro il mio angolo di rete, come direbbe MailChimp: Cinque! (High Fives!)

  9. Ok, userò questo codice ma voglio che IFTTT funzioni sul mio sito web, cosa devo aggiungere?

    # Blocca le richieste WordPress xmlrpc.php

    order deny,allow
    deny from all
    allow from 123.123.123.123

  10. Ciao,

    Ho seguito le istruzioni per bloccare il file xmlrpc.php usando .htaccess ma non sono sicuro che funzioni.

    Sto usando la sicurezza Wordfence e nella visualizzazione del traffico in tempo reale posso vedere che le richieste per il file xmlrpc.php si sono fermate, ma se controllo i miei log di accesso

    tail -f /apache2/logs/access_log

    Posso ancora vedere le richieste arrivare, ma il codice alla fine è cambiato da 500 a 403. Sono preoccupato di ricevere un falso rapporto dal mio plugin WordFence e che venga ancora inondato di spam. Qualcuno può darmi un consiglio?

    Grazie,

    PhilB

    • Oh sì! Funziona perfettamente, il tuo XMLRPC è VIETATO!

      Codice di stato HTTP 403: Il server ha compreso la richiesta ma si rifiuta di autorizzarla.

  11. Ho un problema strano...

    Uso i miei blog di WordPress con IFTTT e tutto funzionava bene, finché non l'ho integrato con MaxCDN; IFTTT ha smesso immediatamente di funzionare. Ho fatto delle ricerche e il problema potrebbe essere correlato a XML-RPC che è stato disattivato.

    Quando controllo la mia dashboard in "Impostazioni" > "Scrittura", non vedo nulla come XML-RPC, Pubblicazione remota, ecc. Ho controllato il database nelle opzioni, anche xml-rpc non è disponibile / mancante.

    Ho bisogno di attivare XML-RPC per far funzionare il mio IFTTT.

    Come riattivo XML-RPC; tutto ciò di cui ho bisogno è uno script che posso aggiungere in .htaccess o functions.php per attivare XML-RPC.

    E perché mi manca la funzionalità XML-RPC nella mia dashboard.

    Grazie!

  12. Stavo cercando come aggiungere questo file xmlprc.php al mio WordPress, sto usando la versione 4.5.3 e sono arrivato a questa pagina. Ho bisogno di aggiungere questo file php perché quando abilito Jetpack ricevo un errore di sito_inaccessibile. Per favore, ditemi come risolvere questo errore, il mio sito è

    • Connettiti al tuo sito WordPress usando un client FTP o il File Manager in cPanel. Nella directory principale del tuo sito web cerca il file xmlrpc.php. Se è presente, prova il passaggio 2. Se non lo è, scarica una copia fresca di WordPress. Decomprimi ed estrai e carica nuovamente il file xmlrpc.php nella directory principale del tuo sito.

      Passaggio 2: Controlla il file functions del tuo tema WordPress per il codice che disabilita XML-RPC.

      Passaggio 3: Controlla i tuoi file .htaccess e wp-config.

      Amministratore

  13. Per favore, cosa posso fare per abilitare xmlrpc sul mio sito? perché non riesco ad accedere tramite l'app mobile di WordPress sul mio smartphone..

  14. Booyah! Questo filtro WP ha risolto l'attacco degli script kiddie. Ho comunque bloccato la persona tramite firewall, ma non devo più tenere d'occhio i log per aggiungere altri IP al firewall. GRAZIE MILLE.

  15. Sono completamente d'accordo con la disabilitazione di xmlrpc.php a livello di server nel mio file /etc/httpd/conf/includes/pre_main_global.conf. Ma mi rimangono queste domande... c'è un modo per determinare che un particolare plugin "NECESSITA" di xmlrpc.php per funzionare? Sono preoccupato di bloccare l'accesso ad esso e poi avere un problema 2 mesi dopo e non sapere che il problema è dovuto al fatto che ho precedentemente bloccato xmlrpc.php.

    Ci sono segni comuni da cercare in un file di log o simili che indicherebbero un blocco di xmlrpc.php come causa?

  16. Ciao, sto usando l'app di WordPress per pubblicare con il mio smartphone Android. Ora non riesco ad accedere e le mie credenziali di accesso sono corrette. La risposta che ho ricevuto è stata "non possiamo accedere, impossibile connettersi al sito WordPress". Potresti aiutarmi a risolvere questo errore di accesso all'app di WordPress?

    • Se hai disabilitato XML RPC, potresti non essere in grado di accedere tramite l'app mobile di WordPress. Cerca nel file functions.php del tuo tema questo codice

      add_filter('xmlrpc_enabled', '__return_false');

      Se è presente, allora devi rimuoverlo. Puoi anche provare a disattivare i plugin e riattivarli uno per uno finché non trovi il plugin che ti impedisce di accedere tramite l'app mobile di WordPress.

      Amministratore

  17. Vale la pena notare che "allow from 123.123.123.123" è opzionale e, se utilizzato, dovrebbe essere aggiornato per includere il tuo IP o l'IP del dispositivo che necessita di accesso a xmlrpc.php (sarebbe utile citare esempi in questo articolo).

  18. Sto usando il plugin GoodbyeCaptcha per disattivare l'XML-RPC e funziona senza problemi mentre Jetpack è attivo.
    Spero che aiuti

  19. Mi dispiace, ho provato questo metodo molte volte. Non ha funzionato per me – anzi, ha bloccato il front-end (impedendo ai visitatori di leggere la pagina web) dopo aver aggiunto questi codici al file .htaccess.

  20. Keith, c'è una tendenza in WordPress a spostare le funzioni non correlate al tema dal file functions.php in un "plugin specifico per il sito", fondamentalmente un plugin che attivi solo su un sito web unico e che memorizza le funzioni non correlate al tema per quel sito.

    Puoi ottenere lo stesso risultato inserendo il codice nel tuo file functions.php.

  21. Ciao ragazzi
    Scusate la mia ignoranza, ma potreste spiegare meglio... "Tutto quello che dovete fare è incollare il seguente codice in un plugin specifico del sito:"

    Quali plugin sono specifici per il sito?

Lascia un commento

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.