Gratis tool
Gratis Security Headers Checker
Voer je URL in om te controleren welke beveiligingsheaders aanwezig zijn. Krijg een cijfer met specifieke aanbevelingen om je beveiliging te verbeteren.
Hoe het werkt
Voer je URL in
Plak je websiteadres in de checker hierboven.
Wij controleren de headers
De tool haalt je pagina op en inspecteert alle HTTP-beveiligingsheaders tegen best practices.
Bekijk je cijfer
Zie welke headers aanwezig, ontbrekend of verkeerd geconfigureerd zijn met duidelijke uitleg.
Wat deze tool controleert
Strict-Transport-Security (HSTS)
Forceert HTTPS-verbindingen en voorkomt downgrade-aanvallen.
Content-Security-Policy (CSP)
Bepaalt welke bronnen de browser mag laden om XSS-aanvallen te blokkeren.
X-Frame-Options
Voorkomt clickjacking door te blokkeren dat je site in iframes wordt geladen.
X-Content-Type-Options
Stopt browsers met het raden van content-types en blokkeert MIME-sniffing aanvallen.
Referrer-Policy en Permissions-Policy
Beheert het delen van referrer-informatie en browserfunctietoegang.
Waarom beveiligingsheaders belangrijk zijn
Beveiligingsheaders zijn instructies die je webserver meestuurt naar browsers bij elke pagina. Ze vertellen de browser wat wel en niet mag. Zonder deze headers is je site kwetsbaarder voor cross-site scripting (XSS), clickjacking, data-injectie en man-in-the-middle-aanvallen.
De meeste moderne webframeworks maken het eenvoudig om beveiligingsheaders toe te voegen. Een paar regels configuratie kunnen hele categorieën aanvallen blokkeren. Toch worden veel websites zonder basisheaders gelanceerd omdat ze onzichtbaar zijn.
Google beschouwt HTTPS en beveiligingssignalen ook als rankingfactoren. Een goed beveiligde site beschermt niet alleen je bezoekers maar kan ook beter presteren in zoekresultaten.
Artikel 32 AVG en beveiligingsheaders
Artikel 32 van de AVG vereist passende technische en organisatorische maatregelen om persoonsgegevens te beveiligen. De wettekst noemt geen specifieke HTTP-headers, maar laat het aan de verwerkingsverantwoordelijke om te bepalen wat passend is gezien de risico's.
In de praktijk noemen de GBA (Gegevensbeschermingsautoriteit), ENISA, het OWASP en het CCB beveiligingsheaders als minimale basismaatregel voor elke website. De richtlijnen van het CCB voor webapplicatiebeveiliging besteden expliciet aandacht aan TLS-configuratie en HTTP-headers.
Bij een datalek is het ontbreken van beveiligingsheaders een verzwarende factor in het onderzoek van de toezichthouder. Dit is in meerdere gevallen voorgekomen waarbij de misbruikte kwetsbaarheid had kunnen worden geblokkeerd door een correct CSP-beleid of door HSTS.
Het is geen absolute bescherming. Het is een basismaatregel die elke toezichthouder, GBA, AP of ICO, als vanzelfsprekend beschouwt voor een website die persoonsgegevens verwerkt.
De zes headers die echt belangrijk zijn
Er bestaan zo'n vijftien HTTP-headers die met beveiliging te maken hebben. Zes daarvan doen het meeste werk.
Strict-Transport-Security (HSTS). Dwingt de browser om HTTPS te gebruiken voor alle volgende verzoeken naar jouw domein. Standaardconfiguratie: Strict-Transport-Security: max-age=31536000; includeSubDomains. Veelgemaakte fout: HSTS activeren met een te korte max-age of zonder includeSubDomains.
Content-Security-Policy (CSP). Bepaalt welke bronnen code mogen laden op jouw pagina. Dit is de sterkste verdediging tegen cross-site scripting. Lastig om in te stellen zonder de site te breken. Begin in report-only-modus gedurende twee weken voordat je overschakelt naar enforce.
X-Frame-Options. Voorkomt dat jouw site in een iframe op een ander domein wordt weergegeven. Blokkeert clickjacking. Aanbevolen waarde: SAMEORIGIN. Grotendeels vervangen door de frame-ancestors-directive van CSP, maar behoud het voor oudere browsers.
X-Content-Type-Options. Eén nuttige waarde: nosniff. Voorkomt dat de browser het MIME-type van een bron raadt. Blokkeert een categorie aanvallen via uploads.
Referrer-Policy. Bepaalt welke informatie wordt meegestuurd in de Referer-header bij uitgaande navigatie. Aanbevolen waarde: strict-origin-when-cross-origin. Beschermt de privacy van gebruikers door URL-lekken naar externe sites te beperken.
Permissions-Policy. Schakelt browser-API's uit die jouw site niet gebruikt. Camera, microfoon, geolocatie, sensoren. Minimale standaardconfiguratie: Permissions-Policy: camera=(), microphone=(), geolocation=().
- Strict-Transport-Security
- Content-Security-Policy
- X-Frame-Options
- X-Content-Type-Options
- Referrer-Policy
- Permissions-Policy
Configuratie per servertype
De drie meest voorkomende omgevingen voor een kmo-website: Apache, Nginx en Cloudflare als tussenlaag voor de origin.
Apache (.htaccess of httpd.conf):
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
</IfModule>
Nginx (in het server-blok):
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
Cloudflare Transform Rules. Ga naar Rules > Transform Rules > Modify Response Header en voeg elke header toe als aparte regel. Voordeel: geen toegang tot de origin-server nodig. Let op: definieer niet dezelfde header zowel op de origin als in Cloudflare, want dat levert dubbele waarden op die sommige browsers negeren.
Veelgemaakte fouten en hoe je ze voorkomt
Vijf fouten komen terug in 90% van de audits.
Een te strikt CSP vanaf het begin. De site breekt, beheerders schakelen terug naar default-src * en geven het op. Oplossing: begin met Content-Security-Policy-Report-Only met een rapport-endpoint gedurende twee weken, los de schendingen op en schakel dan over naar actieve modus.
HSTS op een site die nog afwisselt tussen HTTP en HTTPS. Als een deel van de site via HTTP laadt, blokkeert de browser alles na het eerste HTTPS-bezoek. Controleer of de volledige site, inclusief assets, via HTTPS draait voordat je HSTS activeert.
De dubbele header. Geconfigureerd in zowel WordPress via een plugin als in Apache. De browser ontvangt twee waarden, vaak tegenstrijdig, en vertoont onvoorspelbaar gedrag. Centraliseer de configuratie op één plek.
X-Frame-Options zonder frame-ancestors CSP. X-Frame-Options alleen is verouderd in nieuwe browsers. Stel beide in om zowel oude als nieuwe clients te dekken.
Referrer-Policy te soepel. De standaardwaarde in veel frameworks is no-referrer-when-downgrade, die volledige URL's lekt. Schakel over naar strict-origin-when-cross-origin. Dit is ook een maatregel voor dataminimalisatie in de zin van de AVG.
Onze gratis scanner test deze zes headers samen met de overige AVG-controles. Voor een gerichte test op alleen headers kun je de tool bovenaan deze pagina gebruiken.
Veelgestelde vragen
Wat zijn HTTP-beveiligingsheaders?
HTTP-beveiligingsheaders zijn response headers die je webserver naar browsers stuurt. Ze instrueren de browser hoe om te gaan met de content van je site en blokkeren aanvallen zoals XSS en clickjacking.
Waarom krijgt mijn site een F-cijfer?
Een F-cijfer betekent dat de meeste aanbevolen beveiligingsheaders ontbreken. Dit komt veel voor bij standaard serverconfiguraties. Headers toevoegen kost meestal een paar minuten configuratie.
Hoe voeg ik beveiligingsheaders toe aan mijn site?
De methode hangt af van je hosting. Voor Apache gebruik je .htaccess, voor Nginx het serverblok, voor Vercel of Netlify het headers-configuratiebestand. De meeste CDN's laten je ook headers toevoegen.
Vertraagt het toevoegen van beveiligingsheaders mijn website?
Nee. Beveiligingsheaders voegen een verwaarloosbare hoeveelheid data toe aan elke response, meestal minder dan 500 bytes. Ze hebben geen meetbare impact op laadsnelheid.
Is Content-Security-Policy moeilijk in te stellen?
CSP kan complex zijn voor sites met veel third-party scripts. Begin met report-only modus om te zien wat geblokkeerd zou worden voordat je afdwingt. Een basisbeleid is eenvoudig te implementeren.
Beïnvloeden beveiligingsheaders SEO?
Indirect wel. Google geeft de voorkeur aan HTTPS-sites en HSTS zorgt ervoor dat HTTPS altijd wordt gebruikt. Een veilige site bouwt ook vertrouwen op bij gebruikers, wat bounce rates verlaagt.
Hoe vaak moet ik mijn beveiligingsheaders controleren?
Controleer na elke deployment of serverconfiguratie-wijziging. Headers kunnen per ongeluk worden verwijderd tijdens updates. Regelmatige monitoring vangt regressies op voordat aanvallers dat doen.
Beveiliging is slechts een deel van het verhaal
Je security headers score vertelt een deel. We controleren ook cookie-consent, AVG-compliance, toegankelijkheid en 120+ andere compliancepunten.
Start gratis websitescan→