Content Security Policy (CSP)

CSP, beveiligingsbeleid voor content, content-beveiligingsbeleid
Content Security Policy (CSP) is een beveiligingsstandaard die je website beschermt tegen cross-site scripting en code-injectie. Relevant voor elke website met gebruikersinvoer.

Wat is Content Security Policy?

Content Security Policy (CSP) is een beveiligingslaag die je als website-eigenaar instelt via HTTP-headers. Het mechanisme bepaalt welke bronnen je browser mag laden: scripts, stylesheets, afbeeldingen, fonts en externe content. Door expliciet te definiëren welke domeinen en protocollen toegestaan zijn, blokkeer je ongewenste code-injectie. CSP voorkomt dat aanvallers kwaadaardige scripts in je pagina's injecteren, zelfs als er een kwetsbaarheid in je code zit. Voor MKB-bedrijven met een webshop, klantportaal of formulieren is dit een praktische verdedigingslinie tegen Cross-Site Scripting en datadiefstal.

Hoe Content Security Policy werkt in de praktijk

Je configureert CSP door een header mee te sturen met elke pagina die je server verstuurt. Die header bevat directives: instructies per type bron. De directive script-src 'self' https://cdn.example.com staat bijvoorbeeld alleen scripts van je eigen domein en dat specifieke CDN toe. Probeert een aanvaller een script van een ander domein te laden, dan blokkeert de browser dat en stuurt een melding naar je console. Je kunt CSP stapsgewijs invoeren: begin met een report-only modus die overtredingen logt zonder te blokkeren, analyseer de rapporten en verscherp daarna de regels. Moderne browsers zoals Chrome, Firefox, Safari en Edge ondersteunen CSP volledig. Volgens W3C Content Security Policy Level 3 is de standaard sinds 2018 stabiel en breed geïmplementeerd.

Waarom Content Security Policy nu relevant is voor Nederlandse websites

Cross-site scripting blijft een van de meest voorkomende aanvalsvectoren. Een webshop met duizenden productpagina's of een platform met gebruikersreviews biedt veel invoerpunten. Zelfs bij zorgvuldig programmeren kan een vergeten validatie of een kwetsbare plugin een lek openen. CSP fungeert als vangnet: ook al slaagt een aanvaller erin code in je HTML te krijgen, de browser weigert die uit te voeren als het niet van een toegestane bron komt. Daarnaast eist de Autoriteit Persoonsgegevens passende technische maatregelen bij verwerking van persoonsgegevens. CSP helpt aantonen dat je proactief beveiligt, wat relevant is bij audits of datalekken.

Wat Content Security Policy oplevert voor webshops en platforms

Voor een MKB-webshop met betalingsverkeer betekent CSP dat creditcardgegevens of klantdata niet door malafide scripts kunnen worden onderschept. Bij een B2B-portaal met inlogfuncties bescherm je sessietokens tegen diefstal. In de praktijk zien we bij klanten van Monkey Vision dat een goed geconfigureerd CSP-beleid ook helpt bij het opschonen van oude tracking-scripts en widgets die niet meer nodig zijn. Je krijgt inzicht in welke externe diensten je site daadwerkelijk gebruikt. Wil je weten hoe CSP past in een bredere beveiligingsstrategie voor je website? Bekijk onze webontwikkeling waarin we security by design toepassen, inclusief CSP-configuratie en monitoring.

Toepassingen van Content Security Policy

Content Security Policy pas je toe in situaties waar je controle wil over welke code en content je website mag laden. De volgende scenario's laten zien wanneer CSP concreet waarde biedt en hoe je het inzet voor verschillende doelen binnen je organisatie.

Bescherming van webshops met betalingsverkeer

Een webshop verwerkt gevoelige gegevens: adressen, e-mailadressen en in sommige gevallen betalingsgegevens. Zelfs als je een externe payment provider gebruikt, blijven sessiegegevens en winkelwagen-inhoud kwetsbaar voor scripts die ongeautoriseerd data uitlezen. Met CSP blokkeer je scripts van onbekende domeinen. Je stelt bijvoorbeeld in dat alleen scripts van je eigen domein, je CDN en de payment provider mogen laden. Een aanvaller die via een kwetsbare plugin of een gecompromitteerd thema een script probeert in tejecteren, stuit op een harde blokkade. In de praktijk merken we bij webshop-projecten dat CSP ook helpt bij het identificeren van verouderde tracking-pixels of widgets die onbedoeld data doorsturen naar derde partijen.

Beveiliging van platformen met user-generated content

Heb je een platform waar gebruikers reviews, reacties of forumberichten plaatsen? Dan loop je risico op stored XSS: kwaadaardige code die een gebruiker achterlaat en die later bij andere bezoekers wordt uitgevoerd. Zelfs met input-sanitization blijft een restrisico bestaan. CSP voegt een extra laag toe: zelfs als een script door je validatie glipt, weigert de browser het uit te voeren. Je configureert CSP zo dat inline scripts volledig verboden zijn en alleen externe scriptbestanden van je eigen domein worden toegestaan. Voor een community-platform of een kennisbank met reacties is dit een effectieve maatregel. Je beperkt tegelijk het risico op reputatieschade: als je site gehackt wordt en malware verspreidt, schaadt dat het vertrouwen van je klanten direct.

Naleving van beveiligingseisen bij AVG-audits

De Algemene Verordening Gegevensbescherming vereist passende technische en organisatorische maatregelen. Bij een datalek of audit moet je aantonen dat je proactief hebt gehandeld. CSP is een concrete, verifieerbare maatregel: je kunt de header-configuratie laten zien en rapportages van geblokkeerde aanvallen overleggen. Veel MKB-bedrijven die met ons samenwerken, gebruiken CSP als onderdeel van een beveiligingsdossier. Het helpt ook bij certificeringen of bij aanbestedingen waar informatiebeveiliging een eis is. Let op: CSP alleen is niet voldoende, maar het is een belangrijk puzzelstuk naast HTTP Strict Transport Security en regelmatige updates.

Wanneer Content Security Policy de juiste keuze is en wanneer niet

CSP is zinvol voor elke website die gebruikersinvoer verwerkt, betalingen afhandelt of gevoelige data toont. Het loont vooral als je al een moderne stack hebt: een CMS of framework dat externe scripts beperkt en waarbij je controle hebt over de server-headers. CSP is minder urgent voor een eenvoudige one-pager zonder formulieren of externe integraties, hoewel het ook daar geen kwaad kan. Vermijd CSP als je geen tijd hebt om de configuratie te testen: een te strenge policy breekt functionaliteit, een te losse policy biedt geen bescherming. Begin altijd met report-only modus, analyseer twee weken lang de meldingen en pas dan de daadwerkelijke blokkade toe.

Wil je dit toepassen in jouw bedrijf? Monkey Vision helpt MKB-ondernemers met webdesign, SEO en slimme digitale oplossingen. Plan een vrijblijvende kennismaking en ontdek wat er voor jou mogelijk is.

Plan een kennismaking

Veelgestelde vragen

Nee, CSP is geen firewall. Een firewall blokkeert verkeer op netwerkniveau, voordat het je server bereikt. Content Security Policy werkt in de browser van je bezoeker en controleert welke bronnen de pagina mag laden nadat die al is afgeleverd. CSP beschermt tegen aanvallen die via je eigen website-code worden uitgevoerd, zoals cross-site scripting. Een firewall stopt aanvallen op je server zelf, zoals brute-force inlogpogingen of DDoS. Beide zijn complementair: je hebt allebei nodig voor een solide beveiliging. In de praktijk combineren we bij WordPress hosting een firewall op serverniveau met CSP-headers op applicatieniveau.

De HTTP-header is de voorkeursoptie. Een CSP-header wordt door de server meegestuurd voordat de browser de pagina begint te verwerken, waardoor bescherming vanaf het eerste moment actief is. Een meta-tag in de HTML wordt pas gelezen nadat de browser de pagina heeft ontvangen en begonnen is met parsen, wat een klein venster voor aanvallen openlaat. Bovendien ondersteunt de meta-tag niet alle CSP-directives: report-uri en frame-ancestors werken alleen via de header. Gebruik de meta-tag alleen als je geen toegang hebt tot de server-configuratie, bijvoorbeeld bij gedeelde hosting zonder .htaccess-rechten. Voor MKB-bedrijven met een professionele hostingomgeving is de header altijd de betere keuze.

Start met de Content-Security-Policy-Report-Only header. Deze modus blokkeert niets, maar stuurt wel meldingen naar een endpoint dat je configureert. Laat die modus twee tot vier weken draaien en analyseer de rapporten: welke scripts, stylesheets of afbeeldingen worden geladen en van welke domeinen? Maak een whitelist van de legitieme bronnen en stel een basisbeleid op. Test dat beleid eerst op een staging-omgeving. Schakel daarna de echte blokkerende header in op productie en monitor de eerste week intensief. Veel MKB-bedrijven schrikken van de hoeveelheid externe scripts die ze onbewust gebruiken: tracking-pixels, chatwidgets, social media embeds. CSP dwingt je tot opruimen, wat ook je Core Web Vitals ten goede komt.

De beste aanpak hangt af van je huidige beveiligingsniveau en technische stack. Heb je een WordPress-site met veel plugins en weet je niet welke scripts er precies draaien? Begin dan met een gratis security-scan van 30 minuten bij Monkey Vision. We analyseren live welke externe bronnen je site laadt, identificeren risico's en stellen een CSP-configuratie op die past bij jouw situatie. Je krijgt direct een werkend basisbeleid, uitleg over de belangrijkste directives en een stappenplan om van report-only naar volledige blokkade te gaan. Plan een sessie via webontwikkeling bij Monkey Vision en krijg binnen een week een veiliger website zonder dat functionaliteit sneuvelt.

Over de auteur

Monkey Vision

Monkey Vision is een full-service digitaal bureau in Nijmegen, gespecialiseerd in webdesign, SEO en AI-automatisering voor het MKB. De kennisbank is samengesteld door ons team van online-strategen en doorlopend bijgehouden op basis van actuele inzichten.

Publicatiedatum: 26-04-2026
Laatste update: 26-04-2026