---
title: "XML-RPC en xmlrpc.php: wat het is en wanneer je het uitzet"
description: "XML-RPC (XML Remote Procedure Call) is een protocol om via HTTP functies op een server aan te roepen, in WordPress via xmlrpc.php."
canonical: https://www.keurigonline.nl/begrippenlijst/xml-rpc
last_modified: 2025-12-18
---

[Terug naar begrippenlijst](https://www.keurigonline.nl/begrippenlijst)

# XML-RPC

XML-RPC (XML Remote Procedure Call) is een protocol om via HTTP functies op een server aan te roepen, in WordPress via xmlrpc.php.

XML-RPC (XML Remote Procedure Call) is een protocol waarmee een programma via HTTP een functie op een andere server aanroept, met een bericht in XML. WordPress gebruikt het al jaren via het bestand xmlrpc.php in de hoofdmap van je site. Apps en externe diensten kunnen zo berichten plaatsen, reacties beheren en pingbacks versturen zonder het dashboard te openen.

Juist dat bestand is een geliefd doelwit. Op wp-login.php test een aanvaller één wachtwoord per verzoek, maar met de methode system.multicall van XML-RPC probeert hij er honderden in één verzoek. Beveiligingsbedrijf Sucuri zag zulke brute force-aanvallen in 2015 op grote schaal. Ook de pingbackfunctie wordt misbruikt, om een andere site met verzoeken te bestoken: in 2014 zette een aanvaller zo meer dan 162.000 WordPress-sites in bij één DDoS-aanval.

De meeste sites hebben XML-RPC niet meer nodig, omdat apps en koppelingen nu meestal de REST API van WordPress gebruiken. Gebruik je Jetpack, laat het dan aan, want Jetpack is afhankelijk van de XML-RPC-verbinding. Let op met de filter xmlrpc\_enabled, die bijvoorbeeld de plugin Disable XML-RPC gebruikt. Die zet alleen de functies uit waarvoor je moet inloggen, terwijl pingbacks gewoon blijven werken.

Op je hosting blokkeer je xmlrpc.php volledig met drie regels bovenaan het bestand .htaccess in public\_html: <Files xmlrpc.php>, dan Require all denied en tot slot </Files>. LiteSpeed leest die regels zoals Apache dat doet, en wie het bestand daarna opvraagt, krijgt de melding 403 Forbidden. Controleer na de wijziging of je site en je koppelingen nog werken. Geeft je site een 500-fout, dan zit er een typfout in de regels.

## Geschiedenis

Dave Winer van UserLand Software bedacht XML-RPC in 1998 samen met Microsoft. Het protocol groeide later uit tot SOAP ([Wikipedia](https://en.wikipedia.org/wiki/XML-RPC)). De specificatie staat nog altijd op [xmlrpc.com](https://xmlrpc.com/spec.md).

Belangrijke mijlpalen:

- **1998:** Dave Winer en Microsoft introduceren XML-RPC
- **December 2012:** WordPress 3.5 zet XML-RPC standaard aan en schrapt de optie om het uit te zetten ([Make WordPress](https://make.wordpress.org/mobile/2012/09/17/xml-rpc-core-update/))
- **2014:** Meer dan 162.000 WordPress-sites worden via pingbacks misbruikt voor een DDoS-aanval
- **2015:** Sucuri beschrijft brute force-aanvallen met system.multicall ([Sucuri](https://blog.sucuri.net/2015/10/brute-force-amplification-attacks-against-wordpress-xmlrpc.html))

## Bronnen

1. **XML-RPC.com** - [XML-RPC Specification](https://xmlrpc.com/spec.md)
2. **WordPress.org** - [XML-RPC WordPress API](https://developer.wordpress.org/apis/xml-rpc/)
3. **WordPress.org** - [Hook xmlrpc\_enabled](https://developer.wordpress.org/reference/hooks/xmlrpc_enabled/)
4. **Sucuri (2015)** - [Brute Force Amplification Attacks Against WordPress XMLRPC](https://blog.sucuri.net/2015/10/brute-force-amplification-attacks-against-wordpress-xmlrpc.html)
5. **Sucuri (2014)** - [More Than 162,000 WordPress Sites Used for Distributed Denial of Service Attack](https://blog.sucuri.net/2014/03/more-than-162000-wordpress-sites-used-for-distributed-denial-of-service-attack.html)
6. **Jetpack** - [Known issues: plugins that disable access to XML-RPC](https://jetpack.com/support/getting-started-with-jetpack/known-issues/)

## Gerelateerde artikelen

Beveiliging 29 jun 2026

[ Website beveiliging tegen AI-phishing: 5-stappenplan \[2026\] ](https://www.keurigonline.nl/blog/website-beveiliging-phishing-ai)

HTTPS versleutelt het verkeer tussen bezoeker en server. Het zegt niets over de betrouwbaarheid van de site zelf. Stel het in als basis en combineer het met de lagen hieronder. Lees hoe je dit correct configureert in ons artikel over [SSL-certificaten en websiteveiligheid](https://www.keurigonline.nl/blog/waarom-ssl-certificaten-onmisbaar-zijn-voor-jouw-website).

### WAF: blokkeer aanvallen voor ze je site raken

Een Web Application Firewall (WAF) filtert kwaadaardig verkeer voordat het je applicatie bereikt. Voor WordPress: Wordfence of Cloudflare (gratis tier volstaat voor de meeste MKB-sites). Concrete instellingen: rate-limiting op `/wp-login.php` (maximaal 10 verzoeken per minuut per IP) en blokkeer `/<mark>xmlrpc</mark>.php` voor niet-API-clients. WAF biedt ook *virtual patching*: een kwetsbare plugin is al beveiligd op firewallniveau, nog voor de update uitkomt.

### Content Security Policy: stop XSS aan de bron

Een Content Security Policy (CSP) vertelt de browser welke scripts en bronnen geladen mogen worden. Begin met de header `Content-Security-Policy-Report-Only` om schendingen te loggen zonder de site te breken. Scherp daarna geleidelijk aan. Aanvullende security headers voor HSTS, X-Frame-Options en Referrer-Policy voeg je toe via `.htaccess`. Kant-en-klare snippets vind je in ons overzicht van [20 .htaccess code snippets](https://www.keurigonline.nl/blog/20-htaccess-code-snippets-voor-snellere-websites).

Beveiliging 23 jun 2026

[Website inlogbeveiliging: aanvallen stoppen in 6 stappen](https://www.keurigonline.nl/blog/website-inlogbeveiliging-aanvallen)

Met een gratis Cloudflare-account stel je een rate limit rule in via Security > WAF > Rate limiting rules. Gebruik de volgende configuratie:

```text
Veld: URI Path bevat /wp-login.php
         OF URI Path bevat /<mark>xmlrpc</mark>.php
Methode: POST

Actie: Challenge (Turnstile) na 5 pogingen per 60 seconden per IP
         Block bij herhaalde overschrijding (duur: 1-24 uur)

```

Stel de drempel in op maximaal 5 POST-verzoeken per IP per 60 seconden. De "Challenge"-actie toont Cloudflare Turnstile bij de eerste overschrijding. Turnstile is de gratis, privacyvriendelijke CAPTCHA-variant van Cloudflare. Bij herhaalde schending stel je de actie in op "Block" voor een periode van minimaal 1 uur.

Beveiliging 10 jan 2026

[ WordPress beveiligen: 12 praktische tips \[2026 gids\] ](https://www.keurigonline.nl/blog/wordpress-beveiligen)

```
# Force HTTPS redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

Je kunt ook de [Really Simple SSL plugin](https://wordpress.org/plugins/really-simple-ssl/) gebruiken voor een geautomatiseerde oplossing. Test eerst de gratis versie want de Pro versie blokkeert soms XML-RPC zonder waarschuwing vooraf.

### Verificatie: test je SSL

- **[SSL Labs Server Test](https://www.ssllabs.com/ssltest/)** geeft een rating van A+ tot F en toont welke ciphers en protocols je server ondersteunt
