XML-RPC ist eine zentrale WordPress-API, die es Benutzern ermöglicht, über Anwendungen, Werkzeuge und Dienste von Drittanbietern eine Verbindung zu ihrer WordPress-Website herzustellen. Leider haben Hacker in der Vergangenheit Wege gefunden, XML-RPC auszunutzen, um Zugang zu WordPress-Websites zu erhalten.
Bei WPBeginner haben wir Tausenden von Benutzern geholfen, ihre WordPress Website zu sichern und XML-RPC zu deaktivieren. Wir haben herausgefunden, dass es verschiedene Wege gibt, dies zu tun, je nach Ihrem technischen Wissen.
Sie können zum Beispiel XML-RPC deaktivieren, indem Sie auf die .htaccess-Datei zugreifen oder einen Codeschnipsel hinzufügen. Für Einsteiger gibt es ein Plugin, das die Kerndatei deaktiviert, ohne dass Sie den Code bearbeiten müssen.
In diesem Artikel zeigen wir Ihnen, wie Sie XML-RPC in WordPress mit verschiedenen Methoden einfach deaktivieren können.
Was ist XML-RPC in WordPress?
XML-RPC ist eine WordPress-Kern-API, die seit der Veröffentlichung von WordPress 3.5 im Jahr 2012 standardmäßig aktiviert ist. Sie ermöglicht Entwicklern die Verwendung von XML- und HTTPS-Protokollen für die Verbindung mit und die Interaktion mit Ihrer WordPress-Website.
Kurz gesagt, Sie müssen XML-RPC aktivieren, um aus der Ferne auf Ihren Blog zuzugreifen und ihn zu veröffentlichen, z. B. wenn Sie eine mobile App zur Verwaltung Ihrer Website verwenden oder Verbindungen zu Automatisierungsdiensten wie Uncanny Automator oder Zapier herstellen möchten.
Wenn Sie jedoch keine mobilen Apps auf Ihrer Website verwenden, raten einige WordPress-Sicherheitsexperten, XML-RPC zu deaktivieren. Damit schließen Sie eine Tür, die möglicherweise ausgenutzt werden kann, um Ihre Website zu hacken.
Schauen wir uns also an, wie man die XML-RPC API in WordPress einfach deaktivieren kann. Die .htaccess-Methode
ist am besten geeignet, da sie die wenigsten Ressourcen beansprucht, während die anderen Methoden für Anfänger einfacher sind.
Methode 1: Deaktivieren von WordPress XML-RPC mit .htaccess (fortgeschritten)
Diese Methode ist für fortgeschrittene Benutzer geeignet, da sie die Bearbeitung der .htaccess-Datei Ihrer Website erfordert. Wir empfehlen Anfängern, Methode 2 oder 3 zu verwenden.
Diese Methode hat mehrere Vorteile, z. B. die Möglichkeit, sich selbst und Ihrem Team Fernzugriff zu gewähren, während alle anderen eingeschränkt werden. Außerdem wird die Leistung von WordPress nicht beeinträchtigt, da XML-RPC-Anfragen deaktiviert werden, bevor sie an WordPress weitergeleitet werden.
Sie müssen den folgenden Code in Ihre .htaccess-Datei
einfügen. Sie können dies tun, indem Sie sich mit einem FTP-Client oder einem Dateimanager mit Ihrer Website verbinden. Benutzer von All in One SEO können auch den in das Plugin integrierten Editor verwenden, um den Code-Schnipsel hinzuzufügen, wie Sie auf dem Screenshot unten sehen können.
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
Wenn Sie einem bestimmten Benutzer Fernzugriff auf Ihre Website gewähren möchten, ersetzen Sie einfach „123.123.123.123“ in Zeile 5 durch dessen IP-Adresse. Sie können mehrere IP-Adressen hinzufügen, indem Sie sie durch Leerzeichen voneinander trennen.
Wenn Sie XML-RPC vollständig deaktivieren möchten, löschen Sie Zeile 5 ganz.
Hinweis: Wenn Sie .htaccess nicht finden können, lesen Sie unsere Anleitung, warum Sie .htaccess in WordPress nicht finden können.
Methode 2: Deaktivieren von WordPress XML-RPC mit einem Code-Snippet (empfohlen)
Bei dieser Methode müssen Sie Ihrer WordPress-Website etwas Code hinzufügen. Wenn Sie dies noch nicht getan haben, werfen Sie einen Blick auf unsere Anleitung zum Kopieren und Einfügen benutzerdefinierter Codeschnipsel in WordPress.
WPCode ist der einfachste und sicherste Weg, Code zu Ihrer WordPress-Website hinzuzufügen. Es hilft Ihnen, Ihre Codeschnipsel zu verwalten und verhindert, dass Fehler Ihre Website zerstören.
Bei dieser Methode verwenden wir einen der in WPCode integrierten Codeschnipsel, um XML-RPC zu deaktivieren.
Zunächst müssen Sie das kostenlose WPCode-Plugin installieren. Eine Schritt-für-Schritt-Anleitung finden Sie in unserer Schritt-für-Schritt-Anleitung für die Installation eines WordPress-Plugins.
Gehen Sie nach der Aktivierung zu Code-Snippets “ Snippet hinzufügen. Die WPCode-Bibliothek enthält bereits ein Snippet zur Deaktivierung von XML-RPC. Sie können es finden, indem Sie nach „xml“ suchen.
Sobald Sie es gefunden haben, müssen Sie auf die Schaltfläche „Snippet verwenden“ klicken.
Als Nächstes müssen Sie den Schalter „Aktiv“ in die Position „Ein“ bringen.
Klicken Sie abschließend auf die Schaltfläche „Aktualisieren“, um das Snippet auf Ihrer Website zu aktivieren und die XML-RPC-API zu deaktivieren.
Methode 3: Deaktivieren von WordPress XML-RPC mit einem Plugin
Dies ist eine einfache Methode, die verwendet werden kann, wenn Sie keine weiteren Anpassungen an Ihrer Website mit einem Code-Snippet-Plugin vornehmen möchten
Installieren und aktivieren Sie einfach das Plugin „Disable XML-RPC-API“ (XML-RPC-API deaktivieren ). Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung für die Installation eines WordPress Plugins.
Das Plugin ist sofort einsatzbereit und deaktiviert XML-RPC sofort.
Sie können zu XML-RPC-Sicherheit “ XML-RPC-Einstellungen navigieren, um das Plugin zu konfigurieren. Sie können z. B. bestimmten Benutzern den Zugriff auf XML-RPC erlauben, indem Sie ihre IP-Adressen auf eine Whitelist setzen.
Testen, ob WordPress XML-RPC deaktiviert ist
Jetzt sollten Sie überprüfen, ob Sie die XML-RPC-API auf Ihrer WordPress-Website erfolgreich deaktiviert haben.
Sie können auch überprüfen, ob XML-RPC deaktiviert ist, indem Sie einfach die URL http://example.com/xmlrpc.php in Ihrem Browser
aufrufen .
Stellen Sie sicher, dass Sie „example.com“ durch den Domänennamen Ihrer eigenen Website ersetzen.
Wenn XML-RPC deaktiviert ist, sollten Sie die Fehlermeldung sehen: Forbidden: You don’t have permission to access this resource.
Wir hoffen, dass dieser Artikel Ihnen geholfen hat zu erfahren, wie Sie XML-RPC in WordPress einfach deaktivieren können. Vielleicht interessieren Sie sich auch für unsere Anleitung zum einfachen Hinzufügen von JavaScript in WordPress und die besten Werkzeuge für die WordPress-Entwicklung.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.
Jiří Vaněk
Thank you for the snippet. In the end, I disabled XML-RPC using WPCode because it seemed like the easiest way, and I can also easily revert XML-RPC back. Great!
Pete Mason
in htaccess, the line:
allow from 123.123.123.123
Looks like it wants to be edited with my IP address. But this is not stated anywhere —?
Christine
Is there a difference between disabling and blocking?
WPBeginner Support
Blocking would attempt to limit access to the feature while disabling would turn it off completely. If you disable it you wouldn’t need to worry about someone accessing it through a different method.
Admin
Rashmi K
The recomnended plugin Disable XML-RPC has not been updated since last 2 years. It says the plugin has not been tested with the last 3 releases of wordpress.
WPBeginner Support
For our stance on the not tested warning, you would want to take a look at our article below:
https://www.wpbeginner.com/opinion/should-you-install-plugins-not-tested-with-your-wordpress-version/
Admin
Nikhil
Hi,
Will disabling the xmlrpc.php access also disable the access to wordpress apis used for android/ios app development?
WPBeginner Support
That would depend on the API being used by the apps themselves.
Admin
Vyom
Found the solution:
Adding following information in nginx config:
# nginx block xmlrpc.php requests
location /xmlrpc.php {
deny all;
}
Vyom
I use nginx instead of Apache. Can I still use .htaccess on my site?
And do I need to store this file in public_html directory, or one level above it?
WPBeginner Support
If you’re using nginx then you would not be able to use htaccess
Admin
Vyom
Thanks for the reply. So is there an alternative for nginx?
WPBeginner Support
You would add the site-specific plugin or the plugin from earlier in the article.
Chinecherem Somto
hi, is it on the .htaccess file on the website root that i will paste the code?
WPBeginner Support
Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code
Admin
Mojtaba Rezaeian
Thank you author.
WPBeginner Support
You are welcome Mojtaba
Admin
Bapi
How to use multiple ip or a ip range like 123.123.123.1, 2, 3, …… 100,101
malcolm
why would we allow 123.123.123.123 ?
If we aren’t using the service at all, why not let „deny all“ be absolute?
Edward
If i’m reading the code correctly;
order deny,allow – puts deny before allow, since deny is ‚all‘ then allow isn’t processed
deny from all – does what it says
allow from 123.123.123.123 – is a place holder
I gather that if you have a fixed IP address you could change order to „allow,deny“ and replace 123.123.123.123 with your IP address. That would allow your IP then deny all others.
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
Me an my .htaccess are going to have a little chat about htpasswrd and this here XMLRPC thingy my clients will never need.
You all just made my corner of the net a little bit safer, as MailChimp would say: High Fives!
WPBeginner Support
Hey David,
Thanks for the kind words. We are glad you find WPBeginner helpful
Admin
Cezar
Ok, i will use this code but i want IFTTT to have work on my website what i need to add?
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all
allow from 123.123.123.123
PhilB
Hi,
I have followed the instructions to block the xmlrpc.php file using .htaccess but im not sure if it is working.
Im using wordfence security and in the live traffic view i can see the requests for the xmlrpc.php file have stopped, but if i check my access logs
tail -f /apache2/logs/access_log
I can still see the requests coming in, but the code at the end has changed from 500 to 403. Im concerned im getting a false report from my WordFence plugin and that im still being flooded with spam. Can anyone advise?
Thanks,
PhilB
David Hoy
Oh yeah! Thats working perfectly, your XMLRPC is FORBIDDEN!
HTTP Status Code 403: The server understood the request but refuses to authorize it.
Raymundo
I got a weird problem…
I’m using my wordpress blogs with IFTTT and all worked fine, until I integrated it with MaxCDN; IFTTT immediately stopped working. I did some research and the problem might be related to XML-RPC that was de-activated.
When I check my dashbord in „Settings“ > „Writing“ , I don’t see anything like XML-RPC, Remote Publishing, etc. I’ve checked database in options, also xml-rpc not available / missing.
I need to activate XML-RPC to keep my IFTTT working.
How do I re-activate XML-RPC; all I need is a script that I can add in .htaccess or functions.php to activate XML-RPC.
And why am I missing the XML-RPC funtionality in my dashboard.
Thank You!
Muhammad Ammar Ashfaq
I was searching for how to add this file xmlprc.php to my wordpress i am using 4.5.3 version and i came to this page. I need to add this php file because when i enable jetpack i got error of site_inaccessible. Please tell me hot to resolve this error my site is
WPBeginner Support
Connect to your WordPress site using FTP client or File Manager in cPanel. In your website’s root directory look for xmlrpc.php file. If it is there, then try step 2. If it isn’t then download a fresh copy of WordPress. Unzip and extract it and upload xmlrpc.php file back to your site’s root directory.
Step 2: Check your WordPress theme’s functions file for the code that disables XML-RPC.
Step 3: Check your .htaccess and wp-config files.
Admin
omonaija
Please,what can i do to enable xmlrpc on my site?because i can’t login using wordpess mobile app on my smartphone..
WPBeginner Support
If you are using a security plugin on your WordPress site, then check its settings.
Admin
Mook
Booyah! This WP filter fixed the script kiddie attack. I still firewalled the person, but I don’t have to watch the logs like a hawk to add more IPs to the firewall. THANK YOU.
WPBeginner Support
That’s why we use Sucuri.
Admin
Alex
Is that because Sucuri acts like the Disable XMLRPC plugin?
If so I can remove my Disable XMLRPC plugin,
Thanks
Alex
WPBeginner Support
Sucuri acts like a firewall between your site and users. It blocks any suspicious activity before it could reach your website.
Chad
I’m totally onboard for disabling xmlrpc.php server wide in my /etc/httpd/conf/includes/pre_main_global.conf file. But I am left with this questions…is there a way to determine that a particular plugin „NEEDS“ xmlrpc.php in order to work? I have concerns with blocking access to it and then having an issue 2 months down the road and not know that the issue is with the fact that I blocked xmlrpc.php previously.
Are there any common signs to look for in a log file or such which would point to a xmlrpc.php block as the cause?
Soumitra
Hi, I just installed the plugin , Disable XML-RPC
Lets see!
Phranq
Hey am using WordPress app to post with my android smartphone. Now I can’t login and my login credentials are correct. The response I got was “ we can’t log you in couldn’t connect to the WordPress site“.Could you help me fix this WordPress app login error.
WPBeginner Support
If you had disabled XML RPC then you may not be able to login using WordPress mobile app. Look in your theme’s functions.php file for this code
1-click Use in WordPress
If it is there, then you need to remove it. You can also try deactivating plugins and turning them on one by one until you find the plugin that is stopping you from login using WordPress mobile app.
Admin
Josiah
It’s worth noting, that „allow from 123.123.123.123“ is optional, and if used should be updated to include your IP, or the IP of the device that needs access to xmlrpc.php (it would be good to cite examples in this article).
Natalie
I am using GoodbyeCaptcha plugin to turn off the XML-RPC and works with no problem while Jetpack is activated.
Hope it helps
ATI
Sorry, I’ve tried this method many times. It didn’t work for me – in fact it brought the front end down (blocking visitors read access to the web page) after adding these codes to the .htaccess file.
Gretchen Louise
Does disabling it this way prevent this issue? http://theaffluentblogger.com/operating-a-website/wordpress-xmlrpc-php-vulnerability-affects-shared-hosting-sites/ I have a friend whose site is continually crashing because of her xmlrpc file being attacked.
Editorial Staff
Yes it will prevent the attack to an extent.
Admin
Christopher Ross
Keith, there’s a trend in WordPress to move non-theme related functions out of the functions.php file and into a „site specific plugin“, basically a plugin that you only activate on one unique website and it stores the non-theme related functions for that site.
You can accomplish the same thing by placing the code in your functions.php file.
Keith Davis
Thanks Chris
Looks like you guys have already covered it.
https://www.wpbeginner.com/beginners-guide/what-why-and-how-tos-of-creating-a-site-specific-wordpress-plugin/
BTW – what’s happened to your comments system?
Was Livefyre then something related to twitter and facebook and now ?
Keith Davis
Hi Guys
Sorry to be a bit thick but could you expand on… „All you have to do is paste the following code in a site-specific plugin:“
Which plugins are site specific?