Jak zablokovat XML-RPC ve WordPressu a ochránit svůj web před přetížením

Obsah
- Co je XML-RPC a proč ho WordPress používá?
- Jak zjistit, zda je XML-RPC aktivní?
- Proč XML-RPC blokovat?
- Možnosti, jak XML-RPC zablokovat
- 1. Úprava souboru .htaccess
- 2. Použití bezpečnostního pluginu
- 3. Úprava funkcí ve vašem functions.php
- 4. Vlastní plugin do Wordpressu
- Kdy XML-RPC ponechat aktivní?
- Závěr
Pokud provozujete web na WordPressu, možná jste se setkali s neobvykle vysokým zatížením serveru nebo podezřelou aktivitou v přístupových logách. Jedním z častých důvodů bývá zneužití rozhraní XML-RPC. V tomto článku si vysvětlíme, co to XML-RPC je, proč může být problém a jak ho efektivně zablokovat.
Co je XML-RPC a proč ho WordPress používá?
XML-RPC je API rozhraní, které umožňuje vzdálený přístup k WordPressu. Využívá se například pro:
- publikování příspěvků přes mobilní aplikace,
- pingbacky a trackbacky,
- některé externí nástroje pro správu obsahu.
Ačkoliv může být v některých případech užitečné, ve většině běžných webů není XML-RPC vůbec potřeba. Navíc je často cílem DDoS útoků, brute-force přihlašování nebo zneužití pingback funkcí.
Jak zjistit, zda je XML-RPC aktivní?
Stačí přejít na URL adresu:
https://vasweb.cz/xmlrpc.php
Pokud se vám zobrazí hláška "XML-RPC server accepts POST requests only.", znamená to, že XML-RPC je povolené a aktivní.
Proč XML-RPC blokovat?
Zneužívání XML-RPC může vést k:
- přetěžování serveru (často tisíce požadavků za minutu),
- narušení bezpečnosti skrze opakované pokusy o přihlášení,
- zneužití webu pro útoky na jiné weby (pingback DDoS).
Možnosti, jak XML-RPC zablokovat
1. Úprava souboru .htaccess
Nejjednodušší cestou je blokace přímého přístupu pomocí pravidla v souboru .htaccess
:
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
Tímto způsobem server zcela odmítne jakýkoliv požadavek na xmlrpc.php
.
2. Použití bezpečnostního pluginu
Pokud raději vše spravujete z administrace WordPressu, můžete využít některý z bezpečnostních pluginů, které mají funkci vypnutí XML-RPC. Doporučené pluginy:
- Wordfence Security
- iThemes Security
- Disable XML-RPC
- Vlastní plugin viz. bod 4
Po instalaci stačí v pluginu vyhledat možnost Disable XML-RPC nebo Block XML-RPC requests.
3. Úprava funkcí ve vašem functions.php
Pokročilejší uživatelé mohou přidat následující kód do souboru functions.php
své šablony:
add_filter( 'xmlrpc_enabled', '__return_false' );
Tato metoda sice neblokuje přístup úplně, ale WordPress na požadavky přestane odpovídat.
4. Vlastní plugin do Wordpressu
Připravil jsem pro vás jednoduchý plugin do Wordpressu, který zablokuje veškerý provoz na xmlrpc.php, a nebude ani dále přesměrovávat.
Stačí když si následující kód skopírujete do souboru block-xmlrpc.php a ten pak nahrajete do adresáře /wp-content/plugins.
<?php
/*
Plugin Name: Block XML-RPC Access
Description: Block all requests to XML_RCP (xmlrpc.php).
Version: 1.0
Author: Seotest.cz / Tomas Rohlena
*/
add_action('init', 'blokuj_xmlrpc');
function blokuj_xmlrpc() {
if (isset($_SERVER['SCRIPT_FILENAME']) && basename($_SERVER['SCRIPT_FILENAME']) === 'xmlrpc.php') {
header('Content-Type: text/plain; charset=utf-8');
status_header(403);
echo '-'; exit;
}
}
?>
Následně bude potřeba plugin jménem Block XML-RPC Access zaktivovat a pak už je xmlrpc.php zablokované a nebude přetěžovat váš web.
Kdy XML-RPC ponechat aktivní?
XML-RPC může být užitečné, pokud:
- publikujete články z mobilní aplikace WordPress,
- používáte nástroje typu Jetpack, které XML-RPC vyžadují.
Pokud výše zmíněné funkce nevyužíváte, doporučujeme XML-RPC z bezpečnostních důvodů vždy deaktivovat.
Závěr
Rozhraní xmlrpc.php
je častým cílem útoků a může zbytečně zatěžovat váš web. Vypnutím této funkcionality získáte vyšší bezpečnost i výkon. Vyberte si metodu, která vám nejvíc vyhovuje, a chraňte svůj WordPress web před zbytečnými hrozbami.
Poslední aktualizace článku proběhla 29.5.2025.
OBJEDNAT SEO OPTIMALIZACI