Beperk DOM-gebaseerde XSS met vertrouwde typen

Trusted Types zijn een beveiligingsfunctie voor webplatforms die bepaalde DOM-gebaseerde XSS-aanvallen helpen voorkomen door te voorkomen dat riskante injectiepunten (zoals .innerHTML ) niet-gevalideerde tekenreekswaarden gebruiken. Als een riskant injectiepunt wordt geblokkeerd, treedt er een overtreding op.

De Content-Security-Policy (CSP) -header maakt gebruik van de require-trusted-types-for richtlijn om vertrouwde typen af te dwingen.

Hoe de Lighthouse-audit mislukt

Lighthouse-rapport waarschuwt dat de CSP-responsheader of de Trusted Types-richtlijn ontbreekt om DOM-gebaseerde XSS te beperken.
Lighthouse-rapport waarschuwt dat de CSP-responsheader of de Trusted Types-richtlijn ontbreekt om DOM-gebaseerde XSS te beperken.

De audit slaagt als de CSP-header is ingesteld samen met de require-trusted-types-for -richtlijn en script als waarde. De audit mislukt als de CSP-header niet is ingesteld of als deze wel is ingesteld maar de Trusted Types-richtlijn ontbreekt.

Configureer een CSP-header en een Trusted Types-richtlijn om DOM-gebaseerde XSS te beperken

Gebruikersagenten gebruiken de require-trusted-types-for richtlijn om te bepalen welke gegevens worden doorgegeven aan DOM XSS-sinkfuncties. De script van deze richtlijn controleert of DOM XSS-injectie-sinkfuncties alleen typen accepteren die zijn gegenereerd door Trusted Type-beleid, in plaats van strings toe te staan:

Content-Security-Policy: require-trusted-types-for 'script';