|
|
|
|
@ -212,34 +212,6 @@ class OC {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* This function adds some security related headers to all requests served via base.php
|
|
|
|
|
* The implementation of this function has to happen here to ensure that all third-party
|
|
|
|
|
* components (e.g. SabreDAV) also benefit from this headers.
|
|
|
|
|
*/
|
|
|
|
|
public static function addSecurityHeaders() {
|
|
|
|
|
header('X-XSS-Protection: 1; mode=block'); // Enforce browser based XSS filters
|
|
|
|
|
header('X-Content-Type-Options: nosniff'); // Disable sniffing the content type for IE
|
|
|
|
|
|
|
|
|
|
// iFrame Restriction Policy
|
|
|
|
|
$xFramePolicy = OC_Config::getValue('xframe_restriction', true);
|
|
|
|
|
if($xFramePolicy) {
|
|
|
|
|
header('X-Frame-Options: Sameorigin'); // Disallow iFraming from other domains
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Content Security Policy
|
|
|
|
|
// If you change the standard policy, please also change it in config.sample.php
|
|
|
|
|
$policy = OC_Config::getValue('custom_csp_policy',
|
|
|
|
|
'default-src \'self\'; '
|
|
|
|
|
.'script-src \'self\' \'unsafe-eval\'; '
|
|
|
|
|
.'style-src \'self\' \'unsafe-inline\'; '
|
|
|
|
|
.'frame-src *; '
|
|
|
|
|
.'img-src *; '
|
|
|
|
|
.'font-src \'self\' data:; '
|
|
|
|
|
.'media-src *');
|
|
|
|
|
header('Content-Security-Policy:'.$policy);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static function checkSSL() {
|
|
|
|
|
// redirect to https site if configured
|
|
|
|
|
if (OC_Config::getValue("forcessl", false)) {
|
|
|
|
|
@ -545,7 +517,7 @@ class OC {
|
|
|
|
|
self::checkConfig();
|
|
|
|
|
self::checkInstalled();
|
|
|
|
|
self::checkSSL();
|
|
|
|
|
self::addSecurityHeaders();
|
|
|
|
|
OC_Response::addSecurityHeaders();
|
|
|
|
|
|
|
|
|
|
$errors = OC_Util::checkServer();
|
|
|
|
|
if (count($errors) > 0) {
|
|
|
|
|
|