Ve většině případů na XMLRPC u WordPressu nenarazíte – zpravidla poprvé v okamžiku, kdy budete chtít zprovoznit mobilní aplikaci a ta se odmítne připojit a jako důvod uvede chybu 403 a zkratku XMLRPC.
XMLRPC je protokol umožňující napojení na web na WordPressu a přes API poté s webem pracovat – vkládat, opravovat, mazat články, stránky, média, komentáře, šablony, uživatele, pluginy a nastavení webu (detailně v XML-RPC WordPress API).
Zpravidla se to používá přes mobilní aplikaci či desktopového klienta (viz například Proč je dobré mít na tabletu (či mobilu) aplikaci od WordPressu?) ale má řadu dalších možností využití.
XMLRPC je na WordPress.com automaticky funkční, ale pokud budete mít vlastní hosting, tak může být zakázáno pravidly v .htacess (ale o tom až dále) nebo jinak blokováno vaším hostingem (ale o tom také až dále). Už pár let není v nastavení WordPressu možnost zapnout/vypnout, jak tomu bylo dříve.
Je XMLRPC bezpečné?
XMLRPC je tak bezpečné, jak jsou bezpečná hesla uživatelů, kteří by se mohli přes XMLRPC přihlásit. Je to stejné přihlášení, jako když se přihlašují přes web, takže v tom není rozdíl. Tedy až na to, že na XMLRPC nemůžete přidat dvoufaktorové ověření, kterým můžete chránit přihlášení klasické. A je nutné mít jistotu, že nikde není používáno bez https.
Před lety bylo XMLRPC děravé, takže se mohlo stát nástrojem útoku, ale totéž je pravda o celém WordPressu, pluginech či šablonách. Vždy se může objevit bezpečnostní chyba.
Máte XMLRPC povolené a přemýšlíte nad zákazem? Klidně můžete (přes .htaccess nebo pluginem, viz dále), zlepší to bezpečnost (odstraněním jedné možné cesty jak dovnitř). Ale žádný extra zásadní důvod k tomu není, byť o kousek dál u pingback je něco k zvážení.
Jedna z nevýhod XML RPC oproti novějšímu REST API ale zůstává – přihlášení je klasicky jménem a heslem (REST API používá bezpečný OAuth) a snadno se tak dá zneužívat pro brute force útoky
Konečné doporučení tedy je – pokud XMLRPC nepotřebujete nutně, tak ho mějte zakázané. Sice tím přijdete o možnost používat aplikaci WordPressu, ale nic vám nebrání přistupovat klasicky přes web – funguje to velmi dobře.
K čemu XMLRPC slouží?
K výše uvedenému použití v aplikacích WordPressu – mobilní i desktopové. Pokud nic z toho neplánujete používat, tak nemusíte XMLRPC mít povolené.
JetPack plugin používá XMLRPC pro některé pokročilejší funkce, ale žádná z nich není v neplacené podobě – bude dobře fungovat i bez XMLRPC. Navíc by JetPack měl snad už přejít na REST API.
Pro pingback/trackback funkčnost mezi vaším webem a dalšími blogovacími platformami. Co navíc, tuhle funkčnost rozhodně nechcete mít povolenou (slouží k přidávání komentářů). Zakázat samostatně pingbacky můžete přes plugin Disable XML-RPC Pingback plugin
Právě pingback funkčnost se ale (přes XMLRPC) používá pro DDoS – snadno se tím zahlcuje server, bez ohledu na to, jestli se výsledný pingback někam ukládá.
TIP: Bezpečnostní pluginy, jako například WordFence, umí pracovat i s útoky na XMLRPC. Takže vůbec neváhejte si je pořídit
Jak XMLRPC zakázat
Nejjednodušší způsob zákazu XMLRPC je .htaccess (v rootu vašeho webu) a něm následující
# START XML RPC BLOCKING
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
# FINISH XML RPC BLOCKING
Uvedené zakáže kompletně přístup k xmlrpc.php – pokud byste chtěli, můžete upravit povolením z určitých (vašich, bezpečných) IP adres.
Pokud nemůžete opravovat/vytvářet .htaccess můžete využít plugin Disable XML-RPC plugin – nainstalujte a aktivujte pro zákaz, deaktivuje pro povolení.
Případně pokročilejší REST XML-RPC Data Checker plugin kde je možnost zakazovat a povolovat i další věci či různé funkčnosti (včetně pingbacků). Chcete-li něco opravdu užitečného a pokročilejšího, tak toto je ta lepší varianta.
Pokud si WordPress sami programujete, tak je dobré vědět, že XMLRPC je možné zakázat následujícím filtrem:
add_filter( 'xmlrpc_enabled', '__return_false' );
Což mimo jiné znamená i to, že vaše šablona může mít možnost povolení/zakázání XMLRPC. Ale nebývá to časté.
XMLRPC je navíc možné zakazovat v konfiguracích HTTP serverů – a to váš hosting mohl udělat za vás. V případně nefunkčnosti tedy ověřujte i tam.
Jak ověřit, jestli mám XMLRPC funkční?
Snadno, zkuste otevřít vášserver/xmlrpc.php – pokud vrátí 403 nebo nějakou jinou chybu (například “Missing index page or access denied!”), tak je XMLRPC zakázané. Pokud vrátí XMLR-PRC server accepts POST request only, tak je XMLRPC povolené.
Nezapomeňte, že do XMLRPC se může “míchat” i některý z bezpečnostních pluginů – WordFence má například v nastavení i věci týkající se právě XMLRPC.
Další tipy týkající se WordPressu
-
TIP#2393: Jak zvětšit omezení velikosti souborů nahrávatelných na WordPress?
Jedna z věcí na které narazíte při (například) používání QNAP MARS zálohování pro WordPress je nemožnost obnovit velké weby. Platí to ale i pro jiná zálohovací zařízení – většina hostingu má omezenou…
-
TIP#2388: Jak ve WordPressu získat možnost duplikovat (kopírovat) příspěvky
Jedna dost často potřebná a přesto chybějící věc ve WordPressu je vytvořit kopii (duplikát) nějakého příspěvku či stránky. Můžete to řešit pomoci copy/paste, ale to je poněkud otravné a zdlouhavé. Související příspěvky…
-
TIP#2380: Jak najít ve WordPressu příspěvky/stránky/opakovaně použitelné bloky kde používáte konkrétní prvek? Jak kopírovat a měnit konkrétní blok?
Tohle je taková trochu nedotažená věc ve WordPressu. Můžete používat nějaké stavební prvky – jako třeba /blog z Wodpress.com Editing Toolkit pro výpis příspěvků z určitého štítku/rubriky. Jenže v okamžiku kdy ho…
-
TIP#2375: Jak na WordPressu na výpisy článků podle štítku nebo rubriky?
Na WordPress.com je součástí instalace blok /blog pro výpis článků – podporuje podle štítku a rubriky (dost důležité, že oboje a zejména podle štítůu), různé velikost písma i náhledových obrázků (také dost…
-
TIP#2372: Lepší menu pro WordPress se vyplatí. Jak na to?
WordPress umí přímo vytvářet menu a vaše šablona s nimi bude umět pracovat – zobrazovat je svisle či vodorovně, umístit podle potřeby, podporovat úrovně položek, umět jich případně i více. Vy sami…
-
TIP#2370: Jak měřit návštěvnost webu bez Google Analytics?
Nechtít Google Analytics na webu je dost rozumné pokud nepotřebujete žádné extra vychytávky, analýzy a propojení se vším možným od Google, Dost rozumné i s ohledem na soukromí (a GDPR a sušenkové…
-
TIP#2365: WordPress pluginy pro přímé sledování návštěvnosti. Bez Google Analytics
Rozhodl jsem se zbavit Google Analytics a začal zkoumat, jak sledovat návštěvnost mých webů na WordPressu lokálně, tedy přímo na serveru, ideálně i zcela bez cookies. Důvodů se objevilo několik. Související příspěvky…
-
TIP#2358: Co si pořídit na Cookie bannery místo Complianz?
Peklo s cookies od Evropské Unie má za následek, že si na weby musíme pořizovat šílená řešení pro cookies bannery a ještě šílenější řešení pro blokování cookies, které někomu nesmíme (nebo ještě…
-
TIP#2352: Jak ve WordPressu přesunout (hromadně) články od jednoho autora na jiného?
Ten nejprimitivnější způsob je, že si zobrazíte články/příspěvky klasicky v přehledu, nastavíte si případně větší počet než 20 (100 se ještě jakž takž dá), uděláte výběr všech a pak nad výpisem jdete…
-
TIP#2334: Velký přehled zásadních pluginů pro WordPress
Máme tu Jak na vlastní WordPress. Nepostradatelné pluginy pro WordPress sepsaný v říjnu 2021 při velkém stěhování z WordPress(dot)com na vlastní WordPress. Velmi šikovný přehled pluginů v čitelnější formě. Ale vyplatí se…
-
TIP#2329: Měl bych zamezit indexování štítků či rubrik na WordPressu? Jak to udělat?
Pokud se přes site:pooh.cz či site:365tipu.cz podíváte (lépe řečeno, podívali jste se) na věci zaindexované Google, tak uvidíte šílený zmatek Několik tisíc výsledků zahrnujících v prvním případě na dvě tisícovky (v druhém…
-
TIP#2324: Optimalizace (zmenšování velikosti) obrázků na WordPressu. Jak na to?
Dobrá zpráva je, že v tomto tipu najdete množství pluginů, které vám mohou pomoci se zmenšováním, konverzí a optimalizací obrázků pro váš web/blog na WordPressu. A to jak při nahrávání (což je…
-
TIP#2304: Je ve WordPressu nějaký rozdíl mezi výchozími šablonami a ostatními?
WordPress má “výchozí” šablony, ty které vytváří přímo WordPress(org). Každý rok je jedna nová, takže se jmenují podle roku kdy vznikly (viz například Twenty Twenty-Two). Pak je tu záplava, tisíce, šablon od…
-
TIP#2264: Jak využít QNAP pro monitoring běhu webových serverů? A nejenom QNAP
Monitoring běhu/dostupnosti webových serverů tu řeší tip Jak na monitoring dostupnosti/funkčnosti serveru? Je tam řeč o WEDOS.online, které je dostupné zdarma v beta verzi a docela dlouho ho používám pro monitoring –…
-
TIP#2262: Co když má váš WordPress problémy a nestíhá?
Po migraci FeedIT.cz na vlastní WordPress u BlueBoardu (z WordPress.com) se objevil problém s nestíháním. Ten web má přes 55 tisíc příspěvků, takže i když nemá nijak zásadní návštěvnost (okolo jednoho tisíce…


















