aboutsummaryrefslogtreecommitdiffstats
path: root/boot.php
diff options
context:
space:
mode:
Diffstat (limited to 'boot.php')
-rwxr-xr-xboot.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/boot.php b/boot.php
index 4c2cff09b..f58709384 100755
--- a/boot.php
+++ b/boot.php
@@ -874,6 +874,11 @@ class App {
}
}
+ function get_scheme() {
+ return $this->scheme;
+ }
+
+
function get_hostname() {
return $this->hostname;
}
@@ -2122,6 +2127,23 @@ function construct_page(&$a) {
header("Content-type: text/html; charset=utf-8");
+ // security headers - see https://securityheaders.io
+
+ if($a->get_scheme() === 'https')
+ header("Strict-Transport-Security: max-age=31536000");
+
+ header("Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'");
+
+ if($a->config['system']['x_security_headers']) {
+ header("X-Frame-Options: SAMEORIGIN");
+ header("X-Xss-Protection: 1; mode=block;");
+ header("X-Content-Type-Options: nosniff");
+ }
+
+ if($a->config['system']['public_key_pins']) {
+ header("Public-Key-Pins: " . $a->config['system']['public_key_pins']);
+ }
+
require_once(theme_include(
((x($a->page, 'template')) ? $a->page['template'] : 'default' ) . '.php' )
);