diff options
Diffstat (limited to 'service/pixelated/config/site.py')
-rw-r--r-- | service/pixelated/config/site.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/service/pixelated/config/site.py b/service/pixelated/config/site.py index 8806366a..7163b52b 100644 --- a/service/pixelated/config/site.py +++ b/service/pixelated/config/site.py @@ -1,13 +1,16 @@ from twisted.web.server import Site, Request -class AddCSPHeaderRequest(Request): - HEADER_VALUES = "default-src 'self'; style-src 'self' 'unsafe-inline'" +class AddSecurityHeadersRequest(Request): + CSP_HEADER_VALUES = "default-src 'self'; style-src 'self' 'unsafe-inline'" def process(self): - self.setHeader("Content-Security-Policy", self.HEADER_VALUES) - self.setHeader("X-Content-Security-Policy", self.HEADER_VALUES) - self.setHeader("X-Webkit-CSP", self.HEADER_VALUES) + self.setHeader('Content-Security-Policy', self.CSP_HEADER_VALUES) + self.setHeader('X-Content-Security-Policy', self.CSP_HEADER_VALUES) + self.setHeader('X-Webkit-CSP', self.CSP_HEADER_VALUES) + self.setHeader('X-Frame-Options', 'SAMEORIGIN') + self.setHeader('X-XSS-Protection', '1; mode=block') + self.setHeader('X-Content-Type-Options', 'nosniff') if self.isSecure(): self.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains') @@ -17,11 +20,11 @@ class AddCSPHeaderRequest(Request): class PixelatedSite(Site): - requestFactory = AddCSPHeaderRequest + requestFactory = AddSecurityHeadersRequest @classmethod def enable_csp_requests(cls): - cls.requestFactory = AddCSPHeaderRequest + cls.requestFactory = AddSecurityHeadersRequest @classmethod def disable_csp_requests(cls): |