[FEATURE] Introduce Content Security Policy headers
This change introduces various representations of the Content-Security-Policy domain as PHP classes. The PSR-15 middlewares `ContentSecurityPolicyHeaders` are applying the corresponding HTTP headers to each response in the frontend and backend scope - in case no other component already added a `Content-Security-Policy` or `Content-Security-Policy-Report-Only` header, and only if the corresponding feature flag is enabled: + `security.backend.enforceContentSecurityPolicy` + `security.frontend.enforceContentSecurityPolicy` For new installations `security.backend.enforceContentSecurityPolicy` is enabled via factory default settings. Resolves: #100055 Related: #99499 Related: #97068 Releases: main Change-Id: I355393738f1d578b612e0e041e87be643f9e389a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77997 Tested-by:Markus Klein <markus.klein@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Markus Klein <markus.klein@typo3.org>
Showing
- typo3/sysext/backend/Classes/Middleware/ContentSecurityPolicyHeaders.php 69 additions, 0 deletions...ckend/Classes/Middleware/ContentSecurityPolicyHeaders.php
- typo3/sysext/backend/Classes/Template/PageRendererBackendSetupTrait.php 4 additions, 0 deletions...ackend/Classes/Template/PageRendererBackendSetupTrait.php
- typo3/sysext/backend/Configuration/ContentSecurityPolicies.php 38 additions, 0 deletions.../sysext/backend/Configuration/ContentSecurityPolicies.php
- typo3/sysext/backend/Configuration/RequestMiddlewares.php 8 additions, 1 deletiontypo3/sysext/backend/Configuration/RequestMiddlewares.php
- typo3/sysext/core/Classes/Configuration/SiteConfiguration.php 23 additions, 9 deletions...3/sysext/core/Classes/Configuration/SiteConfiguration.php
- typo3/sysext/core/Classes/Core/RequestId.php 10 additions, 4 deletionstypo3/sysext/core/Classes/Core/RequestId.php
- typo3/sysext/core/Classes/Http/Security/ReferrerEnforcer.php 9 additions, 3 deletionstypo3/sysext/core/Classes/Http/Security/ReferrerEnforcer.php
- typo3/sysext/core/Classes/Package/AbstractServiceProvider.php 29 additions, 0 deletions...3/sysext/core/Classes/Package/AbstractServiceProvider.php
- typo3/sysext/core/Classes/Page/ImportMap.php 6 additions, 4 deletionstypo3/sysext/core/Classes/Page/ImportMap.php
- typo3/sysext/core/Classes/Page/JavaScriptRenderer.php 12 additions, 5 deletionstypo3/sysext/core/Classes/Page/JavaScriptRenderer.php
- typo3/sysext/core/Classes/Page/PageRenderer.php 24 additions, 5 deletionstypo3/sysext/core/Classes/Page/PageRenderer.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Directive.php 102 additions, 0 deletions...core/Classes/Security/ContentSecurityPolicy/Directive.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Event/PolicyMutatedEvent.php 76 additions, 0 deletions...curity/ContentSecurityPolicy/Event/PolicyMutatedEvent.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/ModelService.php 117 additions, 0 deletions...e/Classes/Security/ContentSecurityPolicy/ModelService.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Mutation.php 56 additions, 0 deletions.../core/Classes/Security/ContentSecurityPolicy/Mutation.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/MutationCollection.php 41 additions, 0 deletions...ses/Security/ContentSecurityPolicy/MutationCollection.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/MutationMode.php 28 additions, 0 deletions...e/Classes/Security/ContentSecurityPolicy/MutationMode.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/MutationOrigin.php 31 additions, 0 deletions...Classes/Security/ContentSecurityPolicy/MutationOrigin.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/MutationOriginType.php 24 additions, 0 deletions...ses/Security/ContentSecurityPolicy/MutationOriginType.php
- typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Policy.php 233 additions, 0 deletions...xt/core/Classes/Security/ContentSecurityPolicy/Policy.php
Please register or sign in to comment