HTML-tools

Gratis Trusted Types Policy Generator

Genereer Trusted Types-beleid en CSP-headers om DOM-gebaseerde XSS te voorkomen met getypeerde waarden voor gevaarlijke DOM-sinks.

Tool laden...

Wat is Trusted Types Policy Generator?

Trusted Types is een browserbeveiligings-API die DOM-gebaseerde XSS voorkomt door getypeerde waarden te vereisen in plaats van strings voor gevaarlijke DOM-sinks zoals innerHTML, eval() en script.src. Ontwikkelaars gebruiken trustedTypes.createPolicy() om opschoningsregels te defini毛ren die onvertrouwde strings transformeren of afwijzen voordat ze injectiesinks bereiken. In combinatie met een Content-Security-Policy-richtlijn sluit Trusted Types een belangrijke klasse van XSS-kwetsbaarheden af door af te dwingen dat alleen expliciet goedgekeurde bewerkingen waarden kunnen toewijzen aan risicovolle DOM-attributen.

Snel antwoord

Trusted Types voorkomt DOM-gebaseerde XSS door strings te blokkeren van gevaarlijke DOM-sinks zoals innerHTML en eval(). Gebruik trustedTypes.createPolicy() met createHTML/createScript/createScriptURL-bewerkingen en handhaaf vervolgens met Content-Security-Policy: require-trusted-types-for 'script'. Test altijd eerst in report-only-modus met Content-Security-Policy-Report-Only om bestaande functionaliteit niet te breken.

Last updated: 2026-05-31

Beperkingen

  • Trusted Types vereist browserondersteuning in Chrome 83+, Edge 83+ en Safari 17+. Firefox ondersteunt Trusted Types niet vanaf 2026. Applicaties moeten Firefox zonder Trusted Types-bescherming netjes afhandelen door fallback-gedrag te bieden voor niet-ondersteunde browsers.
  • Trusted Types dekt niet alle XSS-vectoren —het beschermt DOM-injectiesinks (innerHTML, outerHTML, insertAdjacentHTML, eval, document.write) maar voorkomt geen XSS via URL-attributen (href, src), event handler-attributen of CSS-gebaseerde injectievectoren.
  • Migratie van grote applicaties naar Trusted Types vereist aanzienlijke herfactoring. Elk gebruik van innerHTML, insertAdjacentHTML, outerHTML en document.write moet in een beleid worden verpakt, wat honderden bronwijzigingen kan betekenen in een verouderde codebase met uitgebreide dynamische DOM-manipulatie.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Zo gebruik je deze tool

  1. Configureer de toegestane bewerkingen —createHTML, createScript, createScriptURL —en bepaal hoe elke bewerking invoer verwerkt: strikte afwijzing (alle onvertrouwde invoer blokkeren), opschoning (door een opschoningsfunctie laten lopen) of doorvoer voor vertrouwde bronnen.
  2. Kies de CSP-modus —enforce (require-trusted-types-for 'script' in Content-Security-Policy) blokkeert schendingen, of report-only (zelfde richtlijn in Content-Security-Policy-Report-Only) logt schendingen zonder te blokkeren. Begin altijd met report-only-modus tijdens migratie.
  3. Selecteer uw serverplatform —Nginx of Apache —om de bijbehorende CSP-headerconfiguratie te genereren die integreert met uw bestaande serverblokken of virtuele hosts.
  4. Implementeer het policy JavaScript-bestand en de serverconfiguratie en test vervolgens uw applicatie in report-only-modus. Bekijk console-schendingsrapporten en pas beleid aan tot er geen schendingen meer verschijnen, schakel dan over naar enforce-modus.

Waarvoor je het kunt gebruiken

  • Bescherm een contentrijke webapplicatie tegen opgeslagen en gereflecteerde XSS door te vereisen dat alle HTML-injectiepunten door een Trusted Types-beleid gaan met een geconfigureerde opschoningsfunctie.
  • Migreer een verouderde applicatie naar Trusted Types door eerst in report-only-modus te implementeren, schendingsrapporten stapsgewijs in de codebase te herstellen en vervolgens over te schakelen naar volledige enforce-modus.
  • Handhaaf een strikt Trusted Types-beleid in omgevingen met veel third-party scripts waar externe widgets en embeds dynamische content laden via innerHTML, zodat alle ge茂njecteerde HTML door het beleid gaat.

Gebruik

Praktische voorbeelden

Voorbeeld

Report-only-migratie voor een legacy-app

Een groot admin-dashboard gebruikt innerHTML voor verschillende dynamische widgets. Implementeer Trusted Types eerst in report-only-modus door require-trusted-types-for 'script' in de Content-Security-Policy-Report-Only-header in te stellen. Verzamel schendingsrapporten, herfactor elke widget om een Trusted Types-beleid te gebruiken en schakel vervolgens over naar Content-Security-Policy enforce-modus zodra alle schendingen zijn opgelost.

Voorbeeld

Strikt beleid voor een CMS-editor

Een CMS met een rich text-editor moet door gebruikers gegenereerde HTML-content veilig weergeven. Maak een Trusted Types-beleid met een createHTML-functie die HTML door een DOMPurify-achtige opschoner laat lopen voordat een TrustedHTML-object wordt geretourneerd. Alle innerHTML-toewijzingen gaan via dit beleid, waardoor XSS wordt voorkomen, zelfs als kwaadwillende content server-side filtering omzeilt.

Veelgemaakte fouten

  • Trusted Types in enforce-modus implementeren zonder eerst in report-only-modus te testen —een strikt beleid kan elke functie breken die innerHTML, outerHTML of insertAdjacentHTML gebruikt. Valideer altijd eerst met report-only voordat u afdwingt.
  • DefaultPolicy gebruiken als een alles-doorlatende —trustedTypes.createPolicy('default', { createHTML: (s) => s }) omzeilt alle XSS-bescherming door elke string ongewijzigd door te laten. Een standaardbeleid moet nog steeds opschonen, niet doorvoeren.
  • Vergeten dat eval() een Trusted Types-sink is —als uw applicatie JSON.parse() gebruikt op eval-compatibele strings of afhankelijk is van dynamische code-uitvoering, moeten die aanroepen via een createScript-beleid gaan of worden gecontroleerd via een aparte CSP script-src-richtlijn.

Verificatie

  1. Open de browser DevTools-console na het implementeren van het Trusted Types-beleid in enforce-modus. Elke schending blokkeert de bewerking en logt een TypeError met details over de geblokkeerde toewijzing en de betrokken DOM-sink. Controleer of normaal applicatiegebruik nul schendingen oplevert.
  2. Schakel tijdelijk over naar report-only-modus en gebruik het Issues-tabblad in Chrome DevTools om Trusted Types-schendingsrapporten te inspecteren. Filter op 'trusted-types' om alle mogelijke schendingen te zien, gegroepeerd per sinktype en bronlocatie.

FAQ

Vragen over Trusted Types Policy Generator

Beschermt Trusted Types tegen bestaande XSS-kwetsbaarheden?

Ja, als de kwetsbaarheid vereist dat een string naar een DOM-sink zoals innerHTML, outerHTML of insertAdjacentHTML wordt gestuurd. Trusted Types dwingt af dat alle toewijzingen aan deze sinks via een beleid gaan —als er geen beleid bestaat of het beleid de invoer afwijst, wordt de toewijzing geblokkeerd. Trusted Types beschermt echter niet tegen XSS via URL-attributen (href, src), event handlers (onclick, onerror) of server-side injectie. Het richt zich specifiek op DOM-injectiesinks.

Kan ik Trusted Types gebruiken met React, Vue of Angular?

Ja, maar de integratie varieert per framework. React ondersteunt Trusted Types via zijn verwachte getypeerde objectcontract —dangerouslySetInnerHTML accepteert TrustedHTML-objecten. Vue vereist een aangepaste policy-wrapper voor v-html-bindingen. Angular biedt DomSanitizer-integratie die kan worden geconfigureerd om met Trusted Types te werken. Raadpleeg de documentatie van elk framework voor specifieke details over Trusted Types-ondersteuning.

Wat gebeurt er met third-party scripts onder Trusted Types?

Third-party scripts die waarden toewijzen aan DOM-sinks (innerHTML, document.write, outerHTML) worden geblokkeerd tenzij ze via een Trusted Types-beleid gaan. Mogelijk moet u een beleid maken dat specifieke vertrouwde scripts toestaat of een 'trusted-types'-richtlijn in de CSP-header toevoegen met een lijst van toegestane beleidsnamen. Third-party script-widgets breken vaak onder Trusted Types en vereisen expliciete beleidsconfiguratie.

Hoe ga ik om met Trusted Types in report-only-modus?

Stel Content-Security-Policy-Report-Only: require-trusted-types-for 'script' in in plaats van de enforce Content-Security-Policy-header. De browser logt schendingen naar de console en stuurt rapporten naar het geconfigureerde report-uri-eindpunt zonder bewerkingen te blokkeren. Bekijk alle schendingsrapporten, maak passende beleidsregels voor elk sink-gebruik en schakel vervolgens over naar enforce-modus door de richtlijn naar de Content-Security-Policy-header te verplaatsen.

Gerelateerde tools

Meer html-tools

Html

CSP Hash Generator

Genereer CSP-hashwaarden voor inline scripts en styles. Hash exacte code met SHA-256, SHA-384 of SHA-512.

Open tool

Probeer ook

Probeer ook