Terug naar blog

4-11-2025 | Leestijd: 5 min.

Wat is een Content Security Policy?

Het internet voelt vaak als een vertrouwde omgeving. Je navigeert moeiteloos van pagina naar pagina, deelt misschien wat adresgegevens en koopt online zonder erbij stil te staan.

Achter de schermen schuilen gevaren die je niet direct kunt zien.

Een simpele fout in de beveiliging van je website kan ervoor zorgen dat kwaadwillenden toegang krijgen tot gegevens of zelfs schadelijke scripts injecteren.

Eén van de tools die je kunt inzetten is een Content Security Policy, oftewel CSP.

Content Security Policy (CSP) is een beveiligingsmaatregel die bepaalt welke bronnen zoals scripts, stylesheets en afbeeldingen op een website geladen mogen worden. Het helpt om injectie-aanvallen zoals cross-site scripting (XSS) te voorkomen door alleen vertrouwde bronnen toe te staan.

Het geeft je de controle over waar de inhoud op je website vandaan komt.

Toch zijn er situaties waarin deze beveiligingslaag bewust wordt uitgeschakeld, vaak zonder dat de risico’s goed worden overwogen.

Laten we hier wat dieper op induiken.

Waarom is CSP belangrijk?

Een goed ingestelde Content Security Policy heeft een aantal voordelen:

  • Bescherming tegen injectie-aanvallen: CSP beperkt de mogelijkheid van kwaadwillenden om schadelijke code op je website te injecteren, zelfs als er ergens een kwetsbaarheid aanwezig is.
  • Beveiliging van gebruikersgegevens: Het voorkomt dat gevoelige data, zoals inloggegevens of betalingsinformatie, in verkeerde handen terechtkomt via geïnjecteerde scripts.
  • Ondersteuning van browserbeveiliging: Browsers maken gebruik van CSP om bepaalde kwetsbaarheden te mitigeren. Een goede CSP helpt dus ook je bezoekers.
  • Professionele beveiligingsstandaard: Met een CSP laat je zien serieus met je website om te gaan. Het wekt vertrouwen, hoewel het voor de meeste bezoekers niet zichtbaar is.

Maar waarom zou iemand zo’n cruciale beveiligingslaag dan uitschakelen?

Vaak gebeurt dit door onwetendheid of technische obstakels.

Uitschakelen gebeurt bijvoorbeeld als een extern script of stylesheet niet goed werkt door een te strikte CSP.

En sommige website-beheerders weten simpelweg niet hoe ze CSP correct moeten instellen en kiezen ervoor om het uit te schakelen.

Verder wordt CSP soms uitgeschakeld tijdens het oplossen van technische problemen, maar blijft dan per ongeluk uit.

Wat gebeurt er als je CSP uitschakelt?

Als je Content Security Policy uitschakelt, wordt je website kwetsbaarder voor aanvallen.

Zonder CSP kunnen kwaadwillenden eenvoudiger schadelijke scripts injecteren via bijvoorbeeld een kwetsbare plugin of gebruikersinvoer.

Zo kunnen ze toegang krijgen tot gegevens van je bezoekers, zoals adressen, wachtwoorden en credit card informatie.

Het volledig uitschakelen van CSP is dus niet verstandig.

Content Security Policy implementeren

Het implementeren van een veilige Content Security Policy hoeft geen ingewikkeld proces te zijn, zolang je het stap voor stap aanpakt.

Start in report-only modus

Een goede manier om te beginnen is door de report-only mode in te schakelen.

Met deze functie kun je ontdekken welke bronnen op je website zouden worden geblokkeerd door CSP, zonder dat dit direct invloed heeft op de functionaliteit.

Via de developer tools in je browser kun je de meldingen zien.

Dit is een veilige manier om inzichtelijk te krijgen welke bronnen je website extern inlaadt.

Maak een lijst met vertrouwde bronnen

Zodra je weet welke bronnen essentieel zijn voor je website, kun je beginnen met het opstellen van een lijst met vertrouwde bronnen.

Het gaat dan om scripts, stylesheets, afbeeldingen en andere resources die je website nodig heeft om goed te functioneren.

Door deze bronnen in kaart te brengen, krijg je een helder beeld van wat je CSP moet toestaan.

Vervolgens stel je een CSP-header op waarin je specifiek aangeeft dat alleen deze bronnen geladen mogen worden.

Dit is de basis van je beveiligingspolicy en helpt om ongeautoriseerde scripts buiten de deur te houden.

Begin simpel

Het is belangrijk om simpel te beginnen. Stel eerst een basale policy op die alleen de belangrijkste bronnen toestaat.

Test deze vervolgens uitgebreid om te zien of alles goed werkt.

Tijdens deze testfase kun je geleidelijk extra vertrouwde bronnen toevoegen, zoals externe scripts of services die essentieel zijn voor je website.

Met de developer tools in je browser kun je foutmeldingen analyseren en je policy verder te verfijnen.

Wanneer je zeker weet dat je policy goed werkt, kun je deze live zetten door de report-only mode uit te schakelen.

Blijf alert: als je jouw website aanpast, kunnen daarmee de bronnen ook wijzigen.

Het regelmatig updaten en controleren van je CSP is daarom net zo belangrijk als het initiële instellen ervan.

CSP tools

Voor WordPress zijn er verschillende plugins beschikbaar die je kunnen helpen bij het instellen van een CSP.

In de plugin directory van WordPress vind je deze terug.

Ook in de Hosting2GO Sitebuilder zit CSP ingebouwd. Hier kun je op dit moment aangeven wat voor type content toegestaan is.

Zo kun je bijvoorbeeld alle externe afbeeldingen of alle externe CSS in één keer blokkeren.

Screenshot van hoe CPS in Sitebuilder zit.

Handig, want zo hoef je dus niet alle bronnen uit te zoeken. Met een vinkje schakel je het in of uit.

Je vindt deze functie bij de geavanceerde website-instellingen.

Het internet mag dan een vertrouwde omgeving lijken, maar de grootste gevaren zijn vaak de dingen die je niet direct ziet.

Met een Content Security Policy geef je hackers geen kans om jouw website te misbruiken. Zo bescherm je niet alleen je data, maar ook je gebruikers.

Uiteindelijk is dat precies wat je wilt: een veilige plek waar bezoekers zonder zorgen hun weg kunnen vinden naar jouw producten en diensten.

Hulp nodig? Onze helpdesk helpt je graag op weg.

Jeroen

Jeroen is een ware expert in het lezen en schrijven van programmeercodes, alsof het zijn tweede moedertaal is. Als systeembeheerder is geen technische uitdaging hem te gek. Hij helpt je graag bij jouw helpdeskvragen. Zijn specialisme ligt bij databases, PHP, Perl, Bash en CMS.