
🔒 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/userskan hvem som helst få en liste over brukernavn. Neste steg er brute force-angrep på passord. - Innholdsskraping. Innlegg via
/wp-json/wp/v2/postshentes 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 */ 5 add_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> 2 RewriteEngine On 3 RewriteCond %{REQUEST_URI} ^/wp-json/ [NC] 4 RewriteRule .* - [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.phper 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 ifunctions.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.


