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.

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)
- Metodo 2: Disabilitare XML-RPC di WordPress con uno snippet di codice (Consigliato)
- Metodo 3: Disabilitare XML-RPC di WordPress con un plugin
- Testare che XML-RPC di WordPress sia disabilitato
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>

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

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.

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.

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.

Jiří Vaněk
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!
Pete Mason
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 —?
Christine
C'è differenza tra disabilitare e bloccare?
Supporto WPBeginner
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
Rashmi K
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.
Supporto WPBeginner
Per la nostra posizione sull'avviso "non testato", ti consigliamo di consultare il nostro articolo qui sotto:
https://www.wpbeginner.com/opinion/should-you-install-plugins-not-tested-with-your-wordpress-version/
Amministratore
Nikhil
Ciao,
La disabilitazione dell'accesso a xmlrpc.php disabiliterà anche l'accesso alle API di WordPress utilizzate per lo sviluppo di app Android/iOS?
Supporto WPBeginner
Dipenderebbe dall'API utilizzata dalle app stesse.
Amministratore
Vyom
Soluzione trovata:
Aggiungere le seguenti informazioni nella configurazione di nginx:
# blocco nginx per richieste xmlrpc.php
location /xmlrpc.php { deny all; }
Vyom
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?
Supporto WPBeginner
Se stai usando nginx, allora non sarai in grado di usare htaccess
Amministratore
Vyom
Grazie per la risposta. Quindi c'è un'alternativa per nginx?
Supporto WPBeginner
Aggiungeresti il plugin specifico del sito o il plugin menzionato in precedenza nell'articolo.
Chinecherem Somto
ciao, è nel file .htaccess nella root del sito che incollerò il codice?
Supporto WPBeginner
Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code
Amministratore
Mojtaba Rezaeian
Grazie autore.
Supporto WPBeginner
You are welcome Mojtaba
Amministratore
Bapi
Come usare più IP o un intervallo di IP come 123.123.123.1, 2, 3, …… 100,101
malcolm
perché dovremmo consentire 123.123.123.123?
Se non stiamo usando affatto il servizio, perché non lasciare che "deny all" sia assoluto?
Edward
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.
David Hoy
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!)
Supporto WPBeginner
Ciao David,
Thanks for the kind words. We are glad you find WPBeginner helpful
Amministratore
Cezar
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
PhilB
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
David Hoy
Oh sì! Funziona perfettamente, il tuo XMLRPC è VIETATO!
Codice di stato HTTP 403: Il server ha compreso la richiesta ma si rifiuta di autorizzarla.
Raymundo
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!
Muhammad Ammar Ashfaq
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 è
Supporto WPBeginner
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
omonaija
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..
Supporto WPBeginner
Se stai usando un plugin di sicurezza sul tuo sito WordPress, controlla le sue impostazioni.
Amministratore
Mook
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.
Supporto WPBeginner
Ecco perché usiamo Sucuri.
Amministratore
Alex
È perché Sucuri agisce come il plugin Disable XMLRPC?
Se è così, posso rimuovere il mio plugin Disable XMLRPC,
Grazie
Alex
Supporto WPBeginner
Sucuri agisce come un firewall tra il tuo sito e gli utenti. Blocca qualsiasi attività sospetta prima che possa raggiungere il tuo sito web.
Chad
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?
Soumitra
Ciao, ho appena installato il plugin, Disable XML-RPC
Vediamo!
Phranq
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?
Supporto WPBeginner
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');1-click Use in WordPress
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
Josiah
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).
Natalie
Sto usando il plugin GoodbyeCaptcha per disattivare l'XML-RPC e funziona senza problemi mentre Jetpack è attivo.
Spero che aiuti
ATI
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.
Gretchen Louise
Disabilitarlo in questo modo previene questo problema? http://theaffluentblogger.com/operating-a-website/wordpress-xmlrpc-php-vulnerability-affects-shared-hosting-sites/ Ho un'amica il cui sito si blocca continuamente perché il suo file xmlrpc viene attaccato.
Staff editoriale
Sì, in una certa misura preverrà l'attacco.
Amministratore
Christopher Ross
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.
Keith Davis
Grazie Chris
Sembra che voi ragazzi l'abbiate già coperto.
https://www.wpbeginner.com/beginners-guide/what-why-and-how-tos-of-creating-a-site-specific-wordpress-plugin/
Comunque – cosa è successo al vostro sistema di commenti?
Era Livefyre, poi qualcosa legato a Twitter e Facebook e ora?
Keith Davis
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?