Zum Inhalt springen
Deutsch

Content-Security-Policy

contentSecurityPolicy() baut einen CSP-Header aus einer typisierten Direktiven-Map. camelCase-Keys serialisieren zu ihren kebab-case Direktiven-Namen, und deine Direktiven mergen über eine Helmet-nahe Baseline.

import { contentSecurityPolicy, CspOptions, withMiddleware } from 'actor-ts/http';
const csp = contentSecurityPolicy(
CspOptions.create().withDirectives({
scriptSrc: ["'self'", 'https://cdn.example'],
imgSrc: ["'self'", 'data:', 'https:'],
}),
);
const routes = withMiddleware(csp, appRoutes);

Die Baseline (useDefaults, standardmäßig an) ist default-src 'self', object-src 'none', base-uri 'self', frame-ancestors 'self', script-src 'self' und Co. Deine Direktiven überschreiben pro Direktive; setze eine Direktive auf [], um sie zu entfernen, oder rufe withoutDefaults(), um nur das Angegebene zu senden.

Builder-MethodeZweck
withDirectives(map)Die Direktiven-Map (über die Baseline gemergt).
withoutDefaults()Nur die angegebenen Direktiven senden — Baseline überspringen.
withReportOnly(flag?)Content-Security-Policy-Report-Only senden statt durchzusetzen.

upgradeInsecureRequests: true rendert die wertlose Direktive; reportUri und reportTo werden unterstützt. Ein Source-Token mit ;, , oder Whitespace wirft bei der Konstruktion — keine stille Header-Injection.