Endpoint XML-RPC WordPressa jest aktywny

Co to jest

/xmlrpc.php to stary endpoint WordPressa służący do zdalnego publikowania (Windows Live Writer, Jetpack, aplikacje mobilne WP). W roku 2026 nie korzysta z niego 99% witryn — WordPress komunikuje się dziś przez REST API. Endpoint jest jednak nadal domyślnie włączony, więc jeśli aktywnie go nie wyłączysz, pozostaje publicznie dostępny.

Dlaczego to problem

XML-RPC niesie ze sobą dwa konkretne zagrożenia:

Jak to naprawić

Sposób 1 — wyłączenie filtrem (szybkie)

Do functions.php lub do wtyczki dedykowanej witrynie:

add_filter('xmlrpc_enabled', '__return_false');

To wyłącza uwierzytelnianie XML-RPC. Endpoint nadal odpowiada, ale ataki brute-force oraz pingback zakończą się niepowodzeniem.

Sposób 2 — zablokowanie na poziomie serwera WWW (lepsze)

nginx:

location = /xmlrpc.php {
    deny all;
    return 403;
}

Apache (.htaccess):

<Files xmlrpc.php>
    Require all denied
</Files>

Dzięki temu WordPress w ogóle nie otrzyma żądania — mniejsze obciążenie, brak uruchamiania PHP, lepsza skalowalność.

Sposób 3 — wtyczka

Jeśli nie czujesz się komfortowo z edycją plików konfiguracyjnych, wtyczka Disable XML-RPC wyłączy go jednym kliknięciem.

Weryfikacja

curl -I https://example.cz/xmlrpc.php
# powinien zwrócić 403 (sposób 2) lub 405 Method Not Allowed (sposób 1)

Co może się zepsuć

Jeśli korzystasz z aplikacji mobilnej WP lub z Jetpacka w trybie „classic”, utracisz zdalne publikowanie. Jetpack od 2018 roku ma fallback na REST API, więc w większości przypadków nikt tego nie zauważy.

Materiały źródłowe