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
- 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.
- 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.
- Selecteer uw serverplatform —Nginx of Apache —om de bijbehorende CSP-headerconfiguratie te genereren die integreert met uw bestaande serverblokken of virtuele hosts.
- 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.