Poista käytöstä REST Rajapinta

Kuvaus

Tämä liitännäinen tekee yhden asian: Estää WP REST rajapinnan näkyvyyden ja käytön vierailijoilta, jotka eivät ole kirjautuneet WordPress -järjestelmään. Konfigurointia ei tarvita.

Tämä liitännäinen toimii ainoastaan 22 lyhyen koodirivin turvin (Kokonaan vähemmän kuin 2 kilotavua). Siitä syystä se on äärimmäisen kevyt, nopea, ja tehokas.

Features

  • Estää REST/JSON vierailijoilta (Kirjautumattomat käyttäjät)
  • Estää REST headerin HTTP vastauksessa kaikilta käyttäjiltä.
  • Estää REST linkit HTML -otsikossa kaikille käyttäjille.
  • 100% liitä-ja-käytä, aseta ja unohda -ratkaisu.

Nopea, yksinkertainen keino estää sivustosi REST/JSON rajapinnan väärinkäyttö.

Kuinka tämä toimii? Se riippuu siitä, mikä WordPress -versio on käytössäsi..

WordPress v4.7 ja myöhemmät

WordPress -järjestelmän versioille 4.7 ja uudemmille, tämä liitännäinen täysin estää WP REST rajapinnan huolimatta siitä, onko käyttäjä kirjautunut WordPressiin.

  • Kirjautuneille käyttäjille, WP REST rajapinta toimii normaalisti.
  • Kirjautuneille käyttäjille, WP REST rajapinta on estetty.

Mitä tapahtuu, jos kirjautumaton vierailija tekee JSON/REST -pyynnön? He saavat ainoastaan yksinkertaisen herjan:

”rest_login_required: REST Rajapinta rajoitettu ainoastaan tunnistautuneille käyttäjille.”

Tämä viesti voidaan kustomoida filtteri-koukun välityksellä,
disable_wp_rest_api_error. Tarkista tämä postaus nähdäksesi, kuinka toimenpide tapahtuu.

WordPress-järjestelmän vanhemmat versiot

WordPress -järjestelmän 4.7 aikaisimmille versioille, tämä liitännäinen yksinkertaisesti estää kaiken REST rajapinnan toiminnallisuuden kaikilta käyttäjiltä.

Lisätietoja saatavilla UKK-osiossa.

Privacy

This plugin does not collect or store any user data. It does not set any cookies, and it does not connect to any third-party locations. Thus, this plugin does not affect user privacy in any way. If anything it improves user privacy, as it protects potentially sensitive information from being displayed/accessed via REST API.

Disable WP REST API is developed and maintained by Jeff Starr, 15-year WordPress developer and book author.

Support development of this plugin

I develop and maintain this free plugin with love for the WordPress community. To show support, you can make a donation or purchase one of my books:

And/or purchase one of my premium WordPress plugins:

Links, tweets and likes also appreciated. Thank you! 🙂

Asennus

Asennusohjeet

  1. Lataa liitännäinen blogiisi ja aktivoi.
  2. Valmista! Enempää konfigurointia ei enää tarvita.

More info on installing WP plugins

Testaus

Testataksesi liitännäisen toiminnallisuuden, kirjaudu ulos WordPress -järjestelmästä ja tee URL-pyyntö https://example.com/wp-json/ selaimessa. UKK:sta näet lisätietoja.

Pidätkö tästä liitännäisestä?

Jos tykkäät estää WP REST rajapinnan, ole ystävällinen ja käytä hetki antamalla 5-tähden arvio. Se auttaa pitämään kehityksen ja tuen jatkossakin vahvana. Kiitos!

UKK

What is the default access-denied message?

When the user is logged in to WordPress, the normal REST API data will be displayed. When the user is not logged in, this is the default message:

{"code":"rest_login_required","message":"REST API restricted to authenticated users.","data":{"status":401}}

Miksi kukaan haluaisi estää REST Rajapinnan?

Teknisesti tämä liitnänäinen ainoastaan poistaa käytöstä REST rajapinnan vierailijoilta, jotka eivät ole kirjautuneet sisään WordPress -järjestelmään. Tämän huomioon ottaen, tässä muutama syy miksi joku haluaisi poistaa käytöstä rajapinnan myös niiltä käyttäjiltä, jotka eivät ole kirjautuneet sisään.

  • REST rajapintaa ei saateta tarvita kirjautumattomille käyttäjille.
  • Poistamalla käytöstä REST rajapinta suojellaan palvelimen resursseja.
  • Poistamalla käytöstä REST Rajapinta minimoidaan potentiaaliset hyökkäysilmiöt.
  • Poistamalla käytöstä REST -rajapinnan estetään sisällön kaaviminen ja plagiointi.

Olen varma, että on olemassa muita päteviä syitä, mutta ymmärtänet idean 🙂

Onko olemassa jokin oinen ”Estä REST” -liitännäinen?

Kyllä, oikeastaan on olemassa kaksi muuta ”REST Rajapinnan -käytöistä poistamiseen” -liitännäistä:

Ensimmäinen noista liitännäisistä on mieletön ja tarjoaa paljon enemmän ominaisuuksia ja toiminnallisuutta, kuin on edes tarpeellista yksinkertaisesti poistaa REST-rajapinta käytöstä. Toinen liitännäinen oli ajettu alas johtuen vähäisestä käytöstä. Kirjoitin oman REST-rajapinta -käytöstä poisto -liitännäisen, koska halusin luoda jotain erittäin kevyttä, nopeaa ja tehokasta. Jos etsit enemmän valintamahdollisuuksia ja ominaisuuksia, on sinun syytä tarkistaa ensimmäinen noista kahdesta listaamastani vaihtoehdosta.

Kuinka testaan, onko REST estetty?

Testaaminen on helppoa:

  1. Kirjaudu ulos
  2. Käyttäen selainta, tee URL-pyyntö https://example.com/wp-json/

Jos näet seuraavan viestin, rajapinta on poissa käytöstä:

”rest_login_required: REST Rajapinta rajoitettu ainoastaan tunnistautuneille käyttäjille.”

Sitten, jos kirjaudut takaisin ja teet uuden pyynnön osoitteeseen https://example.com/wp-json/, tulet huomaamaan, että rajapinta toimii normaalisti.

Does it disable REST functionality added by other plugins?

Kyllä, jos Rajapinnan päätepisteet on rekisteröity rajapinnan kanssa.

Does this work with Gutenberg/Block Editor?

Yes. It works the same regardless of which editor (Classic or Block) you are using.

How to customize the error message?

By default the plugin displays a message for unauthenticated users: ”REST API restricted to authenticated users.” To customize that message to whatever you want, add the following code via functions.php or simple custom plugin:

function disable_wp_rest_api_error_custom($message) {

    return 'Customize your message here.'; // change this to whatever you want

}
add_filter('disable_wp_rest_api_error', 'disable_wp_rest_api_error_custom');

How to allow access for Contact Form 7?

As explained in this thread, the plugin Contact Form 7 requires REST API access in order for the contact form to work. To allow for this, follow this guide.

Got a question?

Send any questions or feedback via my contact form

Arvostelut

6.5.2024
I’ve tried many different solutions using functions.php because I did not want to install yet another plugin. I’m glad I found this one though. It’s simple, lightweight, maintains privacy, and functions with the latest version of WordPress. Thanks Jeff!
Lue kaikki 35 arvostelua.

Avustajat & Kehittäjät

“Poista käytöstä REST Rajapinta” perustuu avoimeen lähdekoodiin. Seuraavat henkilöt ovat osallistuneet tämän lisäosan kehittämiseen.

Avustajat

“Poista käytöstä REST Rajapinta” has been translated into 5 locales. Kiitoksia kääntäjille heidän työstään.

Käännä “Poista käytöstä REST Rajapinta” omalle kielellesi.

Oletko kiinnostunut kehitystyöstä?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Muutosloki

Jos tykkäät estää WP REST rajapinnan, ole ystävällinen ja käytä hetki antamalla 5-tähden arvio. Se auttaa pitämään kehityksen ja tuen jatkossakin vahvana. Kiitos!

2.6.5

  • Tests on WordPress 6.8

Full changelog @ https://plugin-planet.com/wp/changelog/disable-wp-rest-api.txt