Siirry pääsisältöön

WordPress ja XML-RPC

Opas WordPressin XML-RPC-rajapinnan hallintaan Seravalla. Lue miksi suosittelemme REST API -rajapintaa, miten tarkistat XML-RPC:n tilan srv-työkalulla ja kuinka hallitset sen asetuksia tietoturvan parantamiseksi.

Päivitetty yli viikko sitten

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 --status

  • Kytkeminen pois päältä: srv feature xml-rpc --disable

  • Kytkeminen päälle: srv feature xml-rpc --enable

  • Lisä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 Forbidden tai 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].

Vastasiko tämä kysymykseesi?