Introduction
Content Security Policy is a mechanism designed to make applications more secure
against common web vulnerabilities, particularly
cross-site scripting.
It is enabled by setting the Content-Security-Policy HTTP response header.
The core functionality of CSP can be divided into three areas:
-
Requiring that all scripts are safe and trusted by the application owner (ideally by making sure they match an unpredictable identifier specified in the policy called the CSP nonce),
-
Ensuring that page resources, such as images, stylesheets, or frames, are loaded from trusted sources,
-
Miscellaneous other security features: preventing the application from being framed by untrusted domains, transparently upgrading all resource requests to HTTPS, and others.
By adopting a strict policy, which prevents the loading of untrusted scripts or plugins, an application can add an important defense-in-depth layer against markup injection attacks. This documentation focuses on the XSS mitigation aspect of CSP because XSS is one of the most common and dangerous web vulnerabilities.