Security Headers Analyser
Plak ruwe HTTP-responsheaders uit curl -I of het Netwerk-tabblad van DevTools en ontvang een veiligheidsaudit met een cijfer — een echte Content-Security-Policy-grammaticaparser plus HSTS, X-Frame-Options, cookie-vlaggen en meer, volledig offline.
🔒 Wordt volledig in uw browser verwerkt. Niets wat u hier invoert, wordt ooit geüpload.
Resultaat
Responsheaders dragen het grootste deel van het echte, door de browser afgedwongen veiligheidsbeleid van een website, maar ze met het blote oog lezen is makkelijk verkeerd te doen: een Content-Security-Policy kan er op het eerste gezicht strikt uitzien terwijl die stiekem 'unsafe-inline'-scripts toestaat, en een Strict-Transport-Security-header kan aanwezig zijn met een max-age die zo kort is dat hij amper iets uithaalt. Deze tool neemt het ruwe headerblok dat je erin plakt — rechtstreeks gekopieerd uit curl -I, Postman of een verzoek in het Netwerk-tabblad van DevTools — en voert dezelfde categorie controles uit die bekende online header-graders gebruiken, volledig in je browser. Er wordt niets opgehaald: wat je plakt is het enige dat wordt geanalyseerd, wat betekent dat het identiek werkt voor een publieke productiesite, een interne stagingserver of een endpoint achter een firewall dat geen enkele externe scanner ooit zou kunnen bereiken.
Het pronkstuk is een echte Content-Security-Policy-grammaticaparser, geen checklist. De waarde van de header wordt op puntkomma's gesplitst in richtlijnen, en de bronnenlijst van elke richtlijn wordt afzonderlijk gesplitst en geïnspecteerd: script- en stijlgerelateerde richtlijnen worden gemarkeerd als ze 'unsafe-inline' of 'unsafe-eval' toestaan, elke richtlijn wordt gemarkeerd voor een kale wildcardbron '*' (met extra ernst wanneer die wildcard op script-src, object-src, base-uri of default-src staat), brede schemabronnen zoals 'https:' op een scriptrichtlijn worden aangemerkt als bijna net zo permissief als een wildcard, en het beleid als geheel wordt gecontroleerd op een ontbrekende default-src-fallback en op verouderde richtlijnen (block-all-mixed-content, plugin-types, referrer, reflected-xss) die moderne browsers simpelweg negeren. Een CSP die alleen als Content-Security-Policy-Report-Only wordt verstuurd, wordt herkend en gemarkeerd als nog niet daadwerkelijk afgedwongen, in tegenstelling tot een volledig ontbrekend beleid.
Naast CSP controleert de tool Strict-Transport-Security door diens eigen max-age-richtlijn te parsen en waarden onder de ongeveer zes maanden te markeren als te kort om zinvol effectief te zijn, plus of includeSubDomains en preload zijn ingesteld. X-Content-Type-Options moet de exacte string 'nosniff' zijn, anders wordt deze gemarkeerd als genegeerd door browsers. X-Frame-Options wordt gecontroleerd op DENY of SAMEORIGIN, maar de tool weet ook dat een CSP frame-ancestors-richtlijn de moderne vervanging is voor clickjacking-bescherming — als die aanwezig is, wordt X-Frame-Options als afgedekt beschouwd, zelfs als de verouderde header zelf ontbreekt. Referrer-Policy wordt gecontroleerd tegen de echte lijst geldige sleutelwoorden en gemarkeerd als deze is ingesteld op de URL-lekkende waarde 'unsafe-url', Permissions-Policy wordt gecontroleerd op aanwezigheid, en elke aangetroffen Set-Cookie-regel wordt geparset op zijn eigen Secure-, HttpOnly- en SameSite-attributen, inclusief de specifieke regel dat SameSite=None-cookies zonder Secure stilzwijgend door browsers worden geweigerd.
Elke check levert een van drie eerlijke statussen op — goed, aandacht nodig of ontbreekt — met een uitleg in gewone taal waarom die header van belang is voor echte aanvallen (XSS, clickjacking, cookie-diefstal, protocol-downgrade), en het algehele A-F-cijfer is een transparante optelling van punten per header in plaats van een black-boxscore. Het volledige rapport kan met één klik als platte tekst worden gekopieerd om in een pull request, ticket of security review te plakken, en omdat het parsen volledig op basis van de geplakte tekst gebeurt, is deze tool net zo nuttig voor het controleren van de headers van je eigen site, het beoordelen van de respons van een leverancier voordat je ermee integreert, of het dubbelchecken van een configuratiewijziging voordat die live gaat.