http
HTTP/2 200 OK
Content-Type: text/html
Content-Security-Policy: require-trusted-types-for 'script'; trusted-types html-sanitizer script-validator url-checker 'allow-duplicates'
<!DOCTYPE html>
<html>
<script>
// HTML-Sanitization für User-Content
const htmlPolicy = trustedTypes.createPolicy('html-sanitizer', {
createHTML: (input) => sanitizeUserHTML(input)
});
// Script-URL-Validation für dynamische Imports
const scriptPolicy = trustedTypes.createPolicy('script-validator', {
createScriptURL: (url) => validateScriptSource(url) ? url : ''
});
// URL-Validation für iframes
const urlPolicy = trustedTypes.createPolicy('url-checker', {
createURL: (url) => allowedDomains.includes(new URL(url).hostname) ? url : ''
});
// Mit 'allow-duplicates': Module können eigene Policies mit gleichen Namen erstellen
const modulePolicy = trustedTypes.createPolicy('html-sanitizer', {
createHTML: (input) => moduleSpecificSanitization(input)
});
</script>
</html>