Hopp til innholdet
🔒 Slik deaktiverer du REST API i WordPress: 4 måter 2026

🔒 Slik deaktiverer du REST API i WordPress: 4 måter 2026

Hva er REST API og hvorfor deaktivere det

REST API-et i WordPress er et innebygd grensesnitt som eksterne applikasjoner bruker for å lese og endre nettstedsdata. Forespørsler går til /wp-json/, og svaret kommer tilbake som JSON. Det dukket opp i WordPress 4.7 og har vært aktivert som standard på alle nettsteder siden.

Dette er praktisk for utviklere: mobilapper, hodeløs arkitektur, integrasjoner med tredjepartstjenester. Men hvis du ikke bruker noe av det ovennevnte, forblir et åpent REST API et hull. Null nytte, reell risiko.

Spesifikke trusler:

  • Brukeropplisting. Via /wp-json/wp/v2/users kan hvem som helst få en liste over brukernavn. Neste steg er brute force-angrep på passord.
  • Innholdsskraping. Innlegg via /wp-json/wp/v2/posts hentes automatisk og republiseres på andre nettsteder.
  • Unødvendig belastning. Hver REST-forespørsel går gjennom hele WordPress-syklusen. Tusen boter per minutt, og nettstedet går ned.

Nedenfor finner du fire måter å låse ned REST API-et på: fra en ett-klikks plugin til en blokkering på servernivå. Velg den som passer din situasjon.

💡 Rask oversikt:

  • Installer Disable WP REST API-pluginen: 30 000+ aktive installasjoner, ingen innstillinger, fungerer umiddelbart etter aktivering.
  • Konfigurer begrensningen i Solid Security: hvis en sikkerhetsplugin allerede er på nettstedet, finner du REST API-bryteren under Avansert.
  • Legg til kode i functions.php: for de som ikke vil ha en egen plugin for ett enkelt filter, en kodebit som bruker rest_authentication_errors.
  • Legg til en regel i.htaccess: en blokkering på Apache-servernivå, en hard metode uten unntak.

Metode 1: Disable WP REST API-pluginen, ett klikk

Den enkleste og tryggeste metoden. Disable WP REST API-pluginen på WordPress.org gjør nøyaktig én ting: den stenger REST API-et for alle som ikke er logget inn i administrasjonsområdet. Autentiserte brukere fungerer som normalt, blokkredigereren, andre pluginer, alt fungerer.

Installasjon: Plugins → Legg til ny, søk etter «Disable WP REST API», installer og aktiver. Pluginen veier 4 KB og begynner å virke umiddelbart. Det finnes ingen innstillinger.

Verifisering: logg ut av administrasjonsområdet og åpne https://вашсайт.ru/wp-json/ i nettleseren din. Du vil se meldingen: {"code":"rest_login_required","message":"REST API restricted to authenticated users.","data":{"status":401}}. Dette betyr at REST API-et er stengt for eksterne forespørsler.

Plugin-forfatteren, Jeff Starr, har 15 års erfaring med WordPress og er forfatter av flere bøker om emnet. Koden er åpen, pluginen oppdateres jevnlig: per juli 2026, versjon 2.6.8, testet opp til WordPress 7.0.2.

Fordeler:

  • Installasjon tar ett minutt, ingen innstillinger
  • 4 KB med kode, påvirker ikke nettstedets hastighet
  • Rører ikke administrasjonsområdet eller blokkredigereren
  • 30 000+ aktive installasjoner, 4,8 i vurdering på WordPress.org

Ulemper:

  • Blokkerer kun uautentiserte brukere, en innlogget bruker ser hele REST API-et
  • Ingen detaljerte innstillinger i gratisversjonen (Pro-versjonen, REST Pro Tools, legger til filtrering etter rolle og IP)

Pris: Gratis. Pro-versjon, REST Pro Tools, på utviklerens nettsted.

Nedlasting: 🔗 Disable WP REST API på WordPress.org

Metode 2: Begrensning via Solid Security

Hvis du allerede har Solid Security (tidligere iThemes Security) installert, trenger du ikke en egen plugin for REST API-et. Sikkerhetsinnstillingene inkluderer en ferdig bryter.

Sti: Sikkerhet → Innstillinger → Avansert → WordPress REST API. I nedtrekksmenyen velger du «Begrenset tilgang», REST API-et vil da kun være tilgjengelig for autentiserte brukere.

Sjekk også XML-RPC-innstillingen i samme seksjon. Hvis du ikke bruker WordPress-mobilappen og ikke kobler til Jetpack, deaktiver den også. To grensesnitt som sjelden trengs, men ofte angripes.

Fordeler:

  • Ingen separat plugin nødvendig, funksjonen er allerede innebygd i Solid Security
  • Grensesnitt med forklaringer, ingen grunn til å røre kode
  • XML-RPC konfigureres samtidig

Ulemper:

  • Fungerer bare hvis du allerede bruker Solid Security (å installere det kun for dette er overkill)
  • Gratisversjonen stenger REST API-et fullstendig for uautentiserte brukere, uten unntak for enkeltendepunkter

Nedlasting: 🔗 Solid Security på WordPress.org

Metode 3: Kode i functions.php, ingen pluginer

Hvis du ikke vil installere en plugin for ett enkelt filter, her er en kodebit som gjør det samme. Legg den til i barnetemaets functions.php eller via Code Snippets-pluginen.

Ta sikkerhetskopi av nettstedet ditt før du redigerer. En feil i functions.php forårsaker den hvite dødsskjermen, og uten admin-tilgang må du fikse det via FTP.

1/**
2 * Close REST API for unauthorized users.
3 * Authorized users work with API as usual.
4 */
5add_filter('rest_authentication_errors', function($access) {
6 if (! is_user_logged_in()) {
7 return new WP_Error(
8 'rest_forbidden',
9 __('REST API restricted to authenticated users.', 'textdomain'),
10 array('status' => 403)
11 );
12 }
13 return $access;
14});

Hva som skjer her. Filteret rest_authentication_errors utløses ved hver REST-forespørsel. is_user_logged_in() sjekker om den besøkende er logget inn. Hvis ikke, returneres en WP_Error med kode 403, og WordPress blokkerer forespørselen fra å gå videre. Hvis innlogget, fungerer API-et uten begrensninger.

Etter å ha lagt til koden, sjekk resultatet: åpne /wp-json/ i inkognitomodus. En 403-feil skal returneres.

Viktig. Det gamle rest_enabled-filteret har blitt fjernet fra WordPress-kjernen. Kodebiter med add_filter('rest_enabled', '_return_false'), som dukker opp i gamle veiledninger, fungerer ikke fra og med WordPress 5.0. Bruk kun rest_authentication_errors.

Metode 4: Blokkering via.htaccess, på servernivå

En radikal metode. En regel i .htaccess blokkerer forespørsler til /wp-json/ før WordPress i det hele tatt starter. Apache-serveren returnerer en 403 uten noen gang å nå PHP.

Egnet når:

  • REST API-et definitivt ikke trengs i noen form, verken av deg eller av pluginer;
  • serveren kjører på Apache (for Nginx skrives regelen via en location-blokk);
  • du er komfortabel med å redigere serverkonfigurasjonen.

Legg til i .htaccess-filen i nettstedets rot:

1<IfModule mod_rewrite.c>
2RewriteEngine On
3RewriteCond %{REQUEST_URI} ^/wp-json/ [NC]
4RewriteRule .* - [F]
5</IfModule>

Regelen utløses på enhver URL som starter med /wp-json/. Flagget [F] betyr 403 Forbidden, flagget [NC] gjør sammenligningen uavhengig av store og små bokstaver.

Sørg for å ta en kopi av .htaccess før redigering. En syntaksfeil tar ned hele nettstedet med en 500-feil.

Den største ulempen med denne tilnærmingen: alle REST-forespørsler blokkeres uten unntak. Hvis et kontaktskjema slutter å fungere etter redigeringen (Contact Form 7 bruker REST API-et), gå tilbake til metode 1 eller 3.

Se en 6-minutters oversikt over REST API-risikoer av David McAllen: han viser reelle forespørsler til /wp-json/ og demonstrerer begge pluginene i aksjon.

⁉️🤔 FAQ

Må jeg deaktivere REST API-et på alle nettsteder?

Nei. Hvis du bruker WordPress-mobilappen, blokkredigereren (Gutenberg) eller pluginer som Contact Form 7 og WooCommerce, trenger de REST API-et. I så fall er det bedre å ikke deaktivere det fullstendig, men å konfigurere en rollebasert begrensning.

Du bør deaktivere REST API-et på nettsteder der det ikke brukes med hensikt: blogger på den klassiske redigereren, landingssider, brosjyrenettsteder. På slike prosjekter tilbyr et åpent /wp-json/ ingenting annet enn risiko. To minutter for å installere Disable WP REST API-pluginen, og angrepsvektoren er stengt.

Hvordan bekrefter jeg at REST API-et faktisk er deaktivert?

Åpne https://вашсайт.ru/wp-json/ i nettleseren din i inkognitomodus (du må være utlogget). Hvis du ser en 401- eller 403-feil, er REST API-et stengt. Hvis JSON-data vises, fungerer ikke beskyttelsen, sjekk innstillingene dine.

Kommandolinjen fungerer også: curl -I https://вашсайт.ru/wp-json/wp/v2/users. En 200-responskode betyr at brukerlisten serveres offentlig, et faresignal, beskyttelsen må finjusteres.

Vil deaktivering av REST API-et ødelegge blokkredigereren?

Nei, hvis du bruker metode 1-3. Disable WP REST API-pluginen, Solid Security og rest_authentication_errors-kodebiten slipper alle autentiserte brukere gjennom. Blokkredigereren fungerer, siden du er logget inn i administrasjonsområdet.

Metode 4 (.htaccess) er unntaket. Blokkeringen på servernivå kutter av alle uten forskjell, og blokkredigereren vil slutte å fungere. Hvis administrasjonsområdet bryter sammen etter redigering av .htaccess, gå tilbake til metode 1 eller 3.

Hva er tryggest: en plugin eller kode i functions.php?

Fra et beskyttelsesstandpunkt er begge alternativene likeverdige, de bruker den samme WordPress-mekanismen. Forskjellen ligger i bekvemmelighet og vedlikehold.

Disable WP REST API-pluginen oppdateres automatisk, er ikke avhengig av temaet og forsvinner ikke når du bytter mal. Kode i functions.php er for de som er grunnleggende imot å installere pluginer for en enkelt funksjon. Velg basert på din administrasjonstilnærming, det påvirker ikke sikkerheten.

Kan jeg stenge bare /users-endepunktet og la resten være åpent?

Det kan du, men det er en finjusteringsoppgave. Gratisverktøyene i denne artikkelen blokkerer REST API-et fullstendig for uautentiserte brukere.

Hvis du trenger å holde noen endepunkter åpne og stenge andre, bruk REST Pro Tools (Pro-versjonen av Disable WP REST API-pluginen) eller rest_endpoints-filteret i functions.php. Du må eksplisitt liste opp de tillatte rutene, en halvtimes jobb hvis du kjenner WordPress REST API-strukturen.

Du har låst ned REST API-et, hva nå?

REST API-et er bare én angrepsvektor. Ved å stenge det fjernet du det enkleste inngangspunktet for boter, men dette er ikke en erstatning for fullverdig beskyttelse.

Kort sagt: metode 1 (Disable WP REST API-pluginen) løser problemet på to minutter. Installer den, sjekk /wp-json/ i inkognito, forsikre deg om at kontaktskjemaet ditt fungerer, ferdig. Risikoen er redusert.

Det neste laget er en brannmur og brute force-beskyttelse. Start med gratis Solid Security: den vil stenge REST API-et, XML-RPC og passord-brute-forcing i ett enkelt grensesnitt. Hvilken sikkerhetsplugin du bruker, la oss få vite i kommentarene.