Changeset 3292:86dfd06c2a8c for inc/admin
- Timestamp:
- 07/25/16 11:25:34 (9 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
inc/admin/lib.dc.page.php
r3291 r3292 90 90 91 91 # Display 92 $headers = new arrayobject(array());92 $headers = new ArrayObject(array()); 93 93 94 94 # Content-Type … … 104 104 # Content-Security-Policy 105 105 if ($core->blog->settings->system->csp_admin_on) { 106 $headers['csp'] = 107 "Content-Security-Policy: ". 108 "default-src ".($core->blog->settings->system->csp_admin_default ? $core->blog->settings->system->csp_admin_default : 'self')." ; ". 109 "script-src ".($core->blog->settings->system->csp_admin_script ? $core->blog->settings->system->csp_admin_script : "'self' 'unsafe-inline' 'unsafe-eval'")." ; ". 110 "style-src ".($core->blog->settings->system->csp_admin_style ? $core->blog->settings->system->csp_admin_style : "'self' 'unsafe-inline'")." ; ". 111 "img-src ".($core->blog->settings->system->csp_admin_img ? $core->blog->settings->system->csp_admin_img : "'self' data: media.dotaddict.org"). 112 (version_compare(phpversion(),'5.4','>=') ? " ; report-uri ".DC_ADMIN_URL."csp_report.php" : ''); 106 // Get directives from settings if exist, else set defaults 107 $csp = new ArrayObject(array()); 108 $csp['default-src'] = $core->blog->settings->system->csp_admin_default ? $core->blog->settings->system->csp_admin_default : "'self'"; 109 $csp['script-src'] = $core->blog->settings->system->csp_admin_script ? $core->blog->settings->system->csp_admin_script : "'self' 'unsafe-inline' 'unsafe-eval'"; 110 $csp['style-src'] = $core->blog->settings->system->csp_admin_style ? $core->blog->settings->system->csp_admin_style : "'self' 'unsafe-inline'"; 111 $csp['img-src'] = $core->blog->settings->system->csp_admin_img ? $core->blog->settings->system->csp_admin_img : "'self' data: media.dotaddict.org"; 112 113 # --BEHAVIOR-- adminPageHTTPHeaderCSP 114 $core->callBehavior('adminPageHTTPHeaderCSP',$csp); 115 116 // Construct CSP header 117 $directives = array(); 118 foreach ($csp as $key => $value) { 119 if ($value) { 120 $directives[] = $key.' '.$value; 121 } 122 } 123 if (count($directives)) { 124 if (version_compare(phpversion(),'5.4','>=')) { 125 // csp_report.php needs PHP ≥ 5.4 126 $directives[] = "report-uri ".DC_ADMIN_URL."csp_report.php"; 127 } 128 $headers['csp'] = "Content-Security-Policy: ".implode(" ; ",$directives); 129 } 113 130 } 114 131
Note: See TracChangeset
for help on using the changeset viewer.