Generator voor Content Security Policy (CSP)
Stel een Content-Security-Policy-header samen door richtlijnen in of uit te schakelen — ontvang de HTTP-header en de vorm als <meta>-tag.
Snel antwoord: Content Security Policy (CSP) Generator: Werkt in je browser, gratis, zonder registratie.
Laatst bijgewerkt
Veelgestelde vragen
- Wat is een Content Security Policy?
- Een header die de browser precies vertelt welke oorsprongen scripts, stijlen, afbeeldingen, lettertypen en frames op uw pagina mogen laden. Een goed afgestemde CSP voorkomt de meeste XSS-aanvallen, zelfs als uw invoeropschoning een lek bevat.
- Moet ik een header of een meta-tag gebruiken?
- Gebruik een header als dat kan — een CSP via een meta-tag ondersteunt minder toegestane richtlijnen (geen <code>frame-ancestors</code>, <code>sandbox</code> of <code>report-uri</code>). Gebruik de meta-tag alleen als u de responsheaders van de server niet kunt wijzigen.
- Waarom is <code>'unsafe-inline'</code> in <code>script-src</code> een slecht idee?
- Hiermee vertelt u de browser dat inline <code><script></code>-tags zijn toegestaan — precies wat de meeste XSS-aanvallen injecteren. Stap over op nonces of hashes; moderne frameworks maken dit eenvoudig.
- Hoe zit het met <code>'unsafe-eval'</code>?
- Hiermee zijn <code>eval()</code> en <code>new Function()</code> toegestaan. Sommige bundelaars (oudere webpack-configuraties, bepaalde sjabloonbibliotheken) hebben dit nodig; moderne alternatieven niet. Controleer dit voordat u het behoudt.
- Moet ik <code>upgrade-insecure-requests</code> opnemen?
- Ja, als uw site alleen HTTPS gebruikt — hiermee worden alle <code>http://</code>-verzoeken in uw HTML automatisch opgewaardeerd naar <code>https://</code>, zodat waarschuwingen over gemengde inhoud verdwijnen zonder codewijzigingen.
- Wat is het verschil tussen <code>frame-src</code> en <code>frame-ancestors</code>?
- <code>frame-src</code> bepaalt welke inhoud u kunt insluiten; <code>frame-ancestors</code> bepaalt wie uw pagina mag insluiten. Die laatste vervangt de oudere header <code>X-Frame-Options</code>.
- Hoe test ik het beleid?
- Gebruik eerst <code>Content-Security-Policy-Report-Only</code> (hernoem de header). Browsers melden overtredingen via <code>report-uri</code> zonder het beleid af te dwingen — zo kunt u problemen oplossen voordat u handhaving inschakelt.
- Blokkeert het beleid analyses van derden?
- Alleen als u die niet toestaat. Voeg de oorsprongen voor analyse toe (bijvoorbeeld <code>https://www.google-analytics.com</code>) aan <code>script-src</code> en <code>connect-src</code>.
- Worden mijn instellingen geüpload?
- Nee — de volledige generator werkt in uw browser. Het gegenereerde beleid verlaat uw apparaat nooit.
- Hoe genereer ik nonces per aanvraag?
- Uw server genereert per respons een nieuwe willekeurige nonce en plaatst die zowel in de CSP-header (<code>'nonce-XYZ'</code>) als op elke inline <code><script></code>-tag. De meeste moderne frameworks bieden hiervoor een hulpfunctie.