IN DEZE HANDLEIDING:
- 1 Xml-rpc.php en gevaren voor WordPress website
- 2 Wat is Xml-rpc.php?
- 3 Waarom werd Xmlrpc.php gemaakt en hoe werd het gebruikt?
- 4 Waarom je Xmlrpc.php moet uitschakelen op je WordPress website
- 5 2 risico’s en zwakheden in XML-RPC
- 6 Methode 1: Xmlrpc.php uitzetten met plugins
- 7 Methode 2: Xmlrpc.php handmatig uitschakelen met htaccess
- 8 Methode 3: Xmlrpc.php handmatig verwijderen met functions.php
- 9 Algemeen over XML-RPC in 2025
Xml-rpc.php en gevaren voor WordPress website
WordPress heeft altijd al ingebouwde functies gehad waarmee je op afstand met je site kunt werken. Geef toe, soms moet u toegang krijgen tot uw WordPress website en is uw computer nergens in de buurt. Lange tijd was de oplossing een bestand met de naam xmlrpc.php. Maar de laatste jaren is dat bestand meer een plaag dan een oplossing geworden.
Hieronder laat ik zien wat xmlrpc.php eigenlijk is en waarom het gemaakt is. Ik geef ook een overzicht van de veel voorkomende beveiligingsproblemen die het veroorzaakt en hoe je die op je eigen WordPress website kunt oplossen.
Wat is Xml-rpc.php?
XML-RPC is een functie van WordPress waarmee gegevens kunnen worden verzonden, met HTTP als transportmechanisme en XML als coderingsmechanisme. Omdat WordPress geen op zichzelf staand systeem is en af en toe moet communiceren met andere systemen, werd dit gezocht om die taak op zich te nemen.
Stel bijvoorbeeld dat u vanaf uw mobiele apparaat op uw site wilde posten omdat uw computer nergens in de buurt was. Je zou de remote access functie die xmlrpc.php mogelijk maakt kunnen gebruiken om dat te doen.
De belangrijkste functies die xmlrpc.php mogelijk maakte, waren de mogelijkheid om verbinding te maken met uw site via een smartphone, het implementeren van trackbacks en pingbacks van andere sites, en enkele functies die geassocieerd zijn met de Jetpack plugin.
Waarom werd Xmlrpc.php gemaakt en hoe werd het gebruikt?
De implementatie van XML-RPC gaat terug tot de begindagen van WordPress, nog voor het WordPress werd.
In het begin van het internet, toen de verbindingen ongelooflijk traag waren, was het proces van schrijven en publiceren naar het web veel moeilijker en tijdrovender. In plaats van in de browser zelf te schrijven, schreven de meeste mensen offline en kopieerden en plakten dan hun inhoud op het web. Toch was dit proces verre van ideaal.
De oplossing (in die tijd) was het maken van een offline blogging client, waar je je inhoud kon samenstellen, en dan verbinding maken met je blog om het te publiceren. Deze verbinding gebeurde via XML-RPC. Met het basisraamwerk van XML-RPC op zijn plaats gebruikten vroege apps deze zelfde verbinding om mensen in staat te stellen in te loggen op hun WordPress sites vanaf andere apparaten.
XML-RPC tegenwoordig
In 2008, met versie 2.6 van WordPress, was er een optie om XML-RPC in of uit te schakelen. Met de release van de WordPress iPhone app werd XML-RPC ondersteuning echter standaard ingeschakeld en was er geen optie om de instelling uit te schakelen. Helaas. Dit is tot op heden zo gebleven.
De functionaliteit van dit bestand is echter in de loop der tijd sterk afgenomen, en de totale grootte van het bestand is afgenomen van 83kb tot 3kb, zodat het niet meer zo’n grote rol speelt als vroeger.
Waarom je Xmlrpc.php moet uitschakelen op je WordPress website
De grootste problemen met XML-RPC zijn de beveiligingsproblemen die zich voordoen. De problemen liggen niet direct bij XML-RPC, maar bij de manier waarop het bestand kan worden gebruikt om een brute force aanval op uw site uit te voeren.
Natuurlijk kunt u zich beschermen met ongelooflijk sterke wachtwoorden en WordPress beveiligingsplugins. Maar de beste bescherming is gewoon uitschakelen.
2 risico’s en zwakheden in XML-RPC
Er zijn twee belangrijke zwakheden in XML-RPC die in het verleden zijn benut.
Brute force en XML-RPC
De eerste is het gebruik van brute force aanvallen om toegang tot uw site te krijgen. Een aanvaller probeert via xmlrpc.php toegang te krijgen tot uw site door verschillende combinaties van gebruikersnaam en wachtwoord te gebruiken. Ze kunnen effectief één enkel commando gebruiken om honderden verschillende wachtwoorden te testen. Zo kunnen ze beveiligingsprogramma’s omzeilen die brute force-aanvallen meestal detecteren en blokkeren.
DDoS aanval en XML-RPC
De tweede was het offline halen van sites door middel van een DDoS-aanval. Hackers gebruikten de pingbackfunctie in WordPress om onmiddellijk pingbacks te sturen naar duizenden sites. Deze functie in xmlrpc.php geeft hackers een bijna eindeloze voorraad IP-adressen om een DDoS-aanval over te verspreiden.
Om te controleren of XML-RPC op uw site draait, kunt u deze door een tool genaamd XML-RPC Validator halen. Als u een foutmelding krijgt, betekent dit dat XML-RPC niet is ingeschakeld.
Krijg je een succesmelding, dan kun je xmlrpc.php stoppen met een van de twee onderstaande benaderingen.
Je kan ook deze WordPress plugin gebruiken:
wordpress.org/plugins/wpscan
Methode 1: Xmlrpc.php uitzetten met plugins
XML-RPC uitschakelen op je WordPress site kan niet eenvoudiger.
Navigeer gewoon naar de Plugins ‘ Add New sectie van je WordPress dashboard. Zoek naar Disable XML-RPC en installeer de plugin:
uitschakelen xmlrpc plugin
Activeer de plugin en je bent helemaal klaar. Deze plugin zal automatisch de nodige code invoegen om XML-RPC uit te schakelen.
Houd er echter rekening mee dat sommige bestaande plugins delen van XML-RPC kunnen gebruiken, dus het volledig uitschakelen kan een plugin conflict veroorzaken of bepaalde elementen van je site niet meer functioneren.
Je kan ook de betaalde plugin Perfmatters gebruiken:
Perfmatters WordPress Plugin onnodige scripts uitzetten
Wat is Perfmatters? Perfmatters is een van mijn top 2 WordPress performance plugins. Ik geloof…
Hoe plugins site vertragensnelheid prestaties WordPress
Hoe WordPress plugins snelheid van je website beïnvloeden? Er zijn veel verschillende soorten WordPress plugins,…
Methode 2: Xmlrpc.php handmatig uitschakelen met htaccess
Als je geen plugin wilt gebruiken en het liever handmatig doet, volg dan deze aanpak. Het zal alle inkomende xmlrpc.php verzoeken stoppen voordat ze worden doorgegeven aan WordPress.
Open je .htaccess bestand. Misschien moet je de ‘show hidden files’ aanzetten in file manager of je FTP client om dit bestand te vinden.
Plak in je .htaccess bestand de volgende code:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>
Belangrijk! Verander xxx.xxx.xxx.xxx in het IP adres dat u toegang wilt geven tot xmlrpc.php of verwijder deze regel volledig.
Methode 3: Xmlrpc.php handmatig verwijderen met functions.php
Voeg de volgende code snippet toe aan het functions.php bestand van je thema.
add_filter( 'xmlrpc_enabled', '__return_false' );
Zorg er wel voor dat je een child thema gebruikt, anders gaan de aanpassingen verloren na een thema update. Meer handleidingen hierover:
Child Theme wordpress thema maken met code of plugin
Een child thema is een WordPress thema dat de functionaliteit, functies en stijl erft van…
Aangepaste CSS toevoegen zonder child theme plugin
Functions php bestand aanpassen toevoegen WP plugin
Wat is functies.php in WordPress In WordPress, functies.php of het thema functies bestand is een…
WordPress website verhuizen naar andere webhosting
Algemeen over XML-RPC in 2025
XML-RPC was een goede oplossing voor sommige problemen die optraden bij het op afstand publiceren naar je WordPress site. Met deze functie kwamen echter enkele veiligheidslekken die uiteindelijk behoorlijk schadelijk waren voor sommige eigenaren van WordPress sites.
Om ervoor te zorgen dat uw site veilig blijft, is het een goed idee om xmlrpc.php volledig uit te schakelen. Tenzij u enkele van de functies nodig heeft voor publicatie op afstand en de Jetpack plugin. Dan moet je de workaround plugins gebruiken die deze functies mogelijk maken, terwijl je toch de beveiligingsgaten patcht.
Ik verwacht dat de functies van XML-RPC geïntegreerd zullen worden in de nieuwe WordPress API, waardoor toegang op afstand en dergelijke mogelijk blijft, zonder dat dit ten koste gaat van de veiligheid. Maar in de tussentijd is het een goed idee om jezelf te beschermen tegen de potentiële XML-RPC veiligheidslekken.