Vendic Vragen?
Vendic
Content Security Policy · uitleg

Een checkout die alleen je eigen scripts uitvoert.

Je checkout kan onbekende scripts tegenhouden. Bij veel webshops staat die bescherming nog op ‘alleen melden’. Een script dat er niet hoort, wordt dan gezien en daarna gewoon uitgevoerd. Hier lees je wat CSP is, waarom het nodig is en hoe we het aanzetten.

Heb je van ons een bericht over CSP gekregen? Dan staat de checkout van je webshop nog op alleen melden.

De kern · in vijf seconden

In report-only ziet je checkout een aanval wel, maar houdt hem niet tegen

Content Security Policy (CSP) is een lijst van scripts en bronnen die op je checkout mogen draaien. De browser van je klant houdt zich aan die lijst, maar alleen als hij aan staat.

Standaard sinds Magento 2.4.7

Magento dwingt CSP op de checkout standaard af. Zo hoort het te staan.

Report-only: alleen melden

Is de checkout nog niet volledig op CSP ingericht, dan staat hij in report-only. Een onbekend script wordt gemeld, en dan toch uitgevoerd.

De laatste verdedigingslinie

Komt iemand toch binnen, met een gelekt wachtwoord of via een lek in een extensie, dan kan hij met CSP nog steeds geen eigen script in je checkout draaien.

Onderdeel van PCI DSS

Sinds 31 maart 2025 vraagt PCI DSS 4.0 (eis 6.4.3) dat je vastlegt en bewaakt welke scripts op je betaalpagina draaien. Report-only dekt dat niet.

Het scenario

Zo ziet een aanval op je checkout eruit.

Bij webshops heet dit web skimming: iemand zet een eigen script in de checkout en vangt de betaalgegevens van je klanten af. Hieronder twee keer dezelfde aanval. Een keer zoals de checkout nu staat, een keer met CSP aan.

Magento-adminNiemand ingelogd
jouwwebshop.nl/checkoutCSP: alleen melden
Afrekenen3 artikelen · € 248,50

Betaalmethode

iDEALiDEAL
CreditcardVISA · MC
Kaartnummer
Vervaldatum
CVC
Bestelling plaatsen
Geblokkeerd door CSP
  1. 1
  2. 2
  3. 3
  4. 4
cdn-stats.ioserver van de aanvaller 0kaarten buitgemaakt
Je merkt er niets vanDe checkout werkt gewoon en bestellingen komen binnen. Zo’n aanval komt vaak pas weken later aan het licht.
Een melding is geen beschermingIn report-only ziet de browser het script, schrijft het op en voert het daarna toch uit.
Met CSP stopt het in de browserEen script dat niet op de lijst staat, draait niet. Ook niet als iemand al binnen is.

Illustratief en vereenvoudigd. Domeinnaam en aantallen zijn verzonnen.

Zo staat het nu

Alles mag, en wordt alleen gemeld.

Wat we doen

Een vaste lijst. De rest blokkeert de browser.

We zetten elk script dat je checkout nodig heeft op de lijst en passen aan wat niet past. Pas als alles werkt, zetten we de bescherming aan.

Eigen code

Shop, checkout en maatwerk

Hyvä Checkoutniet geregeldop de lijst
Eigen modulesniet geregeldop de lijst
Inline scriptsniet geregeldaangepast

Betalen

Mollie, MultiSafepay, Adyen of een andere

Betaalproviderniet geregeldop de lijst

Meten en marketing

Tracking en tags

Tag Managerniet geregeldop de lijst
Analytics en pixelsniet geregeldop de lijst

Niet op de lijst

Alles wat er niet hoort

Onbekend scriptwordt uitgevoerdgeblokkeerd
Checkout: alleen meldenafgedwongen

Vereenvoudigd. De lijst voor jouw shop volgt uit de analyse van je checkout.

Zo pakken we het aan

Vier stappen, en pas aan het eind gaat de bescherming aan

Zo blokkeert de browser nooit iets dat je checkout echt nodig heeft.

1

Alles in kaart

Elk script, elke stylesheet en elke externe bron die je checkout laadt: eigen code, betaalprovider, Tag Manager en tracking.

2

De checkout compliant maken

Vertrouwde bronnen komen op de lijst. Inline scripts krijgen een vaste handtekening (nonce of hash), zodat de browser ze herkent. Wat niet past, passen we aan.

3

Testen in report-only

We lopen complete bestellingen door, met alle betaal- en verzendmethoden, tot er geen meldingen meer komen voor scripts die erbij horen.

4

Aanzetten

We zetten report-only uit. Vanaf dat moment dwingt de checkout CSP af en draait alleen wat op de lijst staat.

Wat het kost

Elke checkout is anders, dus je krijgt een vaste prijs op basis van een analyse van jouw checkout. Wat het voor jouw shop inhoudt, hoor je van je contactpersoon bij Vendic.

Waar het over gaat

De checkout, waar betaalgegevens worden ingevoerd. Daar dwingt Magento CSP sinds versie 2.4.7 standaard af. Nieuwe tools die je later toevoegt, lopen via het gewone change management.

Na het aanzetten

Een lijst blijft alleen kloppen als we hem samen bijhouden

Met CSP aan draait in de checkout alleen wat op de lijst staat. Ook een nieuwe tool die je zelf toevoegt, dus die moet er eerst op.

01

Nieuwe tool? Even melden

Een andere betaalprovider, een nieuwe pixel, een tag in Tag Manager of een A/B-test. Laat het ons vooraf weten, dan zetten we hem op de lijst.

02

Geen scripts op eigen houtje

Een script dat buiten de lijst om in de checkout komt, blokkeert de browser. Zo hoort het ook: precies daar zit de bescherming.

03

Wij melden wat we zien

Zien wij een beveiligingsrisico, dan hoor je het van ons, met uitleg wat het betekent. Wat je ermee doet, beslis je zelf. We leggen ons advies en je reactie vast.

De uitkomst

Van alleen melden naar echt tegenhouden

We adviseren dit op korte termijn te doen, zodat de gegevens van je klanten goed beschermd zijn.

Nu · alleen melden

Open

Een script dat in de checkout terechtkomt, wordt gemeld en daarna gewoon uitgevoerd.

Straks · afgedwongen

Dicht

Alleen scripts van de lijst draaien. Een script dat er niet hoort, houdt de browser tegen.

Begrippen

Wat de termen betekenen

Content Security Policy (CSP)
Een lijst die je shop aan de browser meegeeft: deze scripts, styles en bronnen mogen op deze pagina draaien. De rest weigert de browser.
Report-only
Een testmodus van CSP. De browser meldt wat niet op de lijst staat, maar voert het toch uit. Bedoeld om te testen, niet om in te blijven staan.
Afdwingen
CSP staat echt aan: wat niet op de lijst staat, wordt door de browser geblokkeerd.
Web skimming
Een aanval waarbij iemand een script in de checkout plaatst dat betaal- of persoonsgegevens van klanten afvangt en doorstuurt.
Inline script
Een stukje JavaScript dat direct in de pagina staat in plaats van in een los bestand. Met CSP aan moet de browser kunnen zien dat het van jou is.
Nonce of hash
Een soort handtekening op een inline script. Klopt de handtekening, dan laat de browser het script toe.

Liever even samen doorlopen?

Vragen over CSP, of wil je weten wat het voor jouw shop inhoudt? Neem contact op met je vaste contactpersoon bij Vendic, of reageer op het bericht waarin je deze link kreeg.