Vaikka WordPress REST API on nykyään suositeltu tapa sivuston etähallintaan, vanhempi XML-RPC-rajapinta on edelleen käytössä joissakin integraatioissa. Tietoturvasyistä XML-RPC on Seravon ympäristössä oletuksena estetty, mutta se voidaan tarvittaessa kytkeä päälle sivustokohtaisesti. Tässä ohjeessa kerromme rajapinnan hallinnasta ja miksi suosittelemme sen sijaan REST API:n käyttöä.
Mikä on XML-RPC?
XML-RPC on rajapintateknologia, jota WordPress käytti ennen REST API:n julkaisua mahdollistaakseen ulkopuolisten sovellusten (kuten WordPress-mobiilisovellus tai Jetpack) kommunikoinnin sivuston kanssa. Se käyttää tiedonsiirtoon XML-muotoa ja pyynnöt lähetetään osoitteeseen esimerkki.fi/xmlrpc.php.
Miksi suosittelemme siirtymistä REST API:in?
Suosittelemme ensisijaisesti käyttämään modernia WordPress REST API -rajapintaa, sillä se tarjoaa useita etuja XML-RPC:hen verrattuna:
Parempi tietoturva: XML-RPC on yleinen kohde Brute Force -hyökkäyksille, sillä se mahdollistaa satojen salasanakokeilujen lähettämisen yhden pyynnön sisällä. REST API on suunniteltu turvallisemmaksi ja helpommin valvottavaksi.
Suorituskyky: REST API käyttää JSON-muotoa, joka on huomattavasti kevyempää ja nopeampaa käsitellä kuin raskas XML-rakenne.
Välimuistitus: Toisin kuin XML-RPC, joka käyttää aina
POST-pyyntöjä, REST API hyödyntääGET-pyyntöjä, jotka voidaan tallentaa HTTP-välimuistiin.
XML-RPC:n hallinta Seravolla
Seravon ympäristössä voit hallita XML-RPC-rajapintaa suoraan komentoriviltä srv-työkalulla. Tämä on tehokkain tapa parantaa sivuston tietoturvaa, sillä se estää pyynnöt jo palvelintasolla.
Käytettävissä olevat komennot:
Tilan tarkistus:
srv feature xml-rpc --statusKytkeminen pois päältä:
srv feature xml-rpc --disableKytkeminen päälle:
srv feature xml-rpc --enableLisätietoja:
srv feature xml-rpc --help
Huomio viiveestä: Kun muutat XML-RPC-asetusta, muutos ei tule voimaan välittömästi. Tämä johtuu siitä, että nginx-palvelimen asetukset täytyy ladata uudelleen. Asetus päivittyy taustalla automaattisesti. Huomioithan, että muutoksen voimaantulossa voi esiintyä viivettä.
Huom! Jos tarvitset muutoksen voimaan välittömästi esimerkiksi vianetsintää varten, voit olla yhteydessä asiakaspalveluumme.
Näin testaat, onko XML-RPC toiminnassa
Voit varmistaa rajapinnan tilan käyttämällä curl-komentoa. Pelkkä tiedoston olemassaolon tarkistus ei riitä, vaan on testattava, salliiko palvelin POST-pyynnöt.
Aja seuraava komento terminaalissa:
curl -X POST https://esimerkki.fi/xmlrpc.php \
-d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName><params></params></methodCall>'
Miten tulkita tuloksia?
Toiminnassa: Saat vastaukseksi XML-listan tuetuista metodeista.
Esto päällä: Saat vastaukseksi
403 Forbiddentai virheilmoituksen. Jos olet juuri ajanut sulkukomennon ja saat edelleen XML-vastauksen, odota hetki asetusten päivittymistä.
Vianetsintä
403 Forbidden
Pyyntö estettiin sovelluspalomuurin (WAF) tai Seravon srv-työkalulla tehdyn eston vuoksi.
Integraatio-ongelmat
Jotkut palvelut, kuten Jetpack, vaativat XML-RPC:n toimiakseen. Jos Jetpack-yhteys katkeaa, varmista, ettei XML-RPC ole kokonaan estetty.
Hitaus
XML-pohjaiset kutsut ovat raskaita. Jos integraatiosi tuntuu hitaalta, harkitse siirtymistä REST API:n käyttöön.
Suositus
Jos rakennat uutta integraatiota, käytä aina WordPress REST API:a. Se on turvallisempi, nopeampi ja paremmin tuettu vaihtoehto.
Tarvitsetko apua?
Ota yhteyttä asiakaspalveluumme lähettämällä viestiä osoitteeseen [email protected].
