← Alle checks
BeveiligingTypische ernst: Laag

Scanner voor zwakke Referrer-Policy

Detecteert een te ruime Referrer-Policy die de volledige URL van je site naar externe bestemmingen lekt.

Wat het checkt

Deze scanner detecteert of je site een ruime Referrer-Policy heeft die de volledige URL naar externe sites lekt. Hij identificeert wanneer de browser gedetailleerde adressen van je site verstuurt bij het bezoeken van links of het laden van bronnen van derden.

Waarom het belangrijk is

De volledige URL kan gevoelige informatie bevatten, zoals sessie-identificatoren, tokens of privépaden die je niet met andere sites wilt delen. Een ruim beleid stuurt die data naar externe bestemmingen elke keer dat een gebruiker je site verlaat.

Hoe je het oplost

Stel de Referrer-Policy-header in op een striktere waarde zoals strict-origin-when-cross-origin, die alleen de origin en niet het volledige pad met externe sites deelt. Het wordt gedefinieerd in de configuratie van je server of CDN en is meestal een eenvoudige, veilige aanpassing.

Hoe deze controle werkt

Deze controle treedt alleen op als je site de header Referrer-Policy al verstuurt; ontbreekt hij helemaal, dan meldt de headerscanner dat. Scanaris leest de waarde en opent, als die unsafe-url of no-referrer-when-downgrade bevat, een bevinding met lage ernst en de exacte waarde. Elke andere waarde (strict-origin-when-cross-origin, no-referrer, same-origin, origin, strict-origin) wordt goedgekeurd. Hij meet dus niet of je de header hebt, maar of de header die je hebt de volledige URL niet lekt.

Wat de referrer is en wat er lekt

Elke keer dat een gebruiker op een link naar een andere site klikt, of je pagina een afbeelding of script van een ander domein laadt, stuurt de browser de bestemming een header Referer met de URL van de pagina waar hij vandaan komt. Het referrerbeleid bepaalt hoeveel van die URL wordt meegestuurd. Met unsafe-url de volledige URL, inclusief pad en parameters, zelfs als de bestemming HTTP is. Met no-referrer-when-downgrade de volledige URL naar elke HTTPS-bestemming; dat was tot 2020 het standaardgedrag van browsers, en daarom staat het nog in veel oude configuraties. Wat lekt, zijn dingen als /dashboard/facturen/8841, /reset-password?token=..., /zoeken?q=ontslag of de identificatie van een gedeeld document: alles wat in de URL van de gebruiker staat, bereikt advertentienetwerken, analysediensten en elke externe site waarnaar je linkt.

Hoe je het oplost

De aanbevolen waarde voor vrijwel elke site:

Referrer-Policy: strict-origin-when-cross-origin

Die stuurt de volledige URL binnen je eigen domein (je analytics blijven werken), alleen de origin (https://jouwdomein.nl) naar andere domeinen, en niets als de bestemming HTTP is. Het is de standaard van moderne browsers, dus door hem expliciet te zetten leg je alleen vast wat ze al doen. Hoef niemand te weten waar de bezoeker vandaan komt, dan is no-referrer nog strenger.

  • Nuxt: in routeRules van nuxt.config, onder de regel '/**'.
  • Next.js: in de functie headers() van next.config.js.
  • Vercel: in vercel.json. Netlify: in _headers.
  • nginx: add_header Referrer-Policy "strict-origin-when-cross-origin" always;. Apache: Header always set Referrer-Policy "strict-origin-when-cross-origin".
  • Express: helmet.referrerPolicy({ policy: 'strict-origin-when-cross-origin' }).

Heeft één specifieke link ander gedrag nodig (bijvoorbeeld een affiliateprogramma dat de volledige referrer vereist), stel dat dan in op die link met het attribuut referrerpolicy in plaats van het beleid van de hele site te versoepelen.

Controleer of het opgelost is

curl -sI https://jouwdomein.nl | grep -i referrer-policy

Het moet strict-origin-when-cross-origin of no-referrer tonen. Controleer ook dat er geen <meta name="referrer">-tag in de HTML staat met een andere waarde: de meta heeft op die pagina voorrang op de header.

Veelgestelde vragen

Verlies ik gegevens in Google Analytics of mijn statistiektool?

Nee. De analytics van je eigen site worden gevoed door het script dat je opneemt, niet door de referrer. Wat verandert, is wat de sites waarnaar je linkt zien: in plaats van de exacte pagina zien ze je domein. Voor je eigen interne pagina's blijft de volledige referrer behouden.

Mijn site heeft geen URL's met gevoelige gegevens.

Vandaag niet. Een link om een wachtwoord te resetten, een bestelnummer of een zoekparameter duiken op zodra de site groeit. Het juiste beleid instellen kost één regel en heeft geen bijwerkingen.

Waarom was no-referrer-when-downgrade de standaard?

Omdat in de beginjaren van het web de volledige referrer als nuttig gold en HTTPS een minderheid was. Chrome, Firefox en Safari veranderden de standaard tussen 2020 en 2021 naar strict-origin-when-cross-origin, precies vanwege de lekken die deze gids beschrijft. Alle gerelateerde headers worden uitgelegd in HTTP-headers voor mensen.

Check het op je site

Scan je site gratis en zie of deze en 44 andere checks slagen, met een fixprompt voor elk probleem.

Mijn site gratis scannen

Uit de blog

Gerelateerde checks