Dotclear

Changeset 3326:6735e0420ee9


Ignore:
Timestamp:
08/27/16 12:34:53 (9 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Add a CSP Report only option for admin (see about:config), default → false

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • admin/install/index.php

    r3303 r3326  
    172172          # CSP directive (admin part) 
    173173          $blog_settings->system->put('csp_admin_on',true,'boolean','Send CSP header (admin)',true,true); 
     174          $blog_settings->system->put('csp_admin_report_only',false,'boolean','CSP Report only violations (admin)',true,true); 
    174175          $blog_settings->system->put('csp_admin_default',"'self'",'string','CSP default-src directive',true,true); 
    175176          $blog_settings->system->put('csp_admin_script',"'self' 'unsafe-inline' 'unsafe-eval'",'string','CSP script-src directive',true,true); 
  • inc/admin/lib.dc.page.php

    r3320 r3326  
    137137                         $directives[] = "report-uri ".DC_ADMIN_URL."csp_report.php"; 
    138138                    } 
    139                     $headers['csp'] = "Content-Security-Policy: ".implode(" ; ",$directives); 
     139                    $report_only = ($core->blog->settings->system->csp_admin_report_only) ? '-Report-Only' : ''; 
     140                    $headers['csp'] = "Content-Security-Policy".$report_only.": ".implode(" ; ",$directives); 
    140141               } 
    141142          } 
  • inc/dbschema/upgrade.php

    r3324 r3326  
    594594               // Remove the CSP report file from it's old place 
    595595               @unlink(DC_ROOT.'/admin/csp_report.txt'); 
     596 
     597               # Some new settings should be initialized, prepare db queries 
     598               $strReq = 'INSERT INTO '.$core->prefix.'setting'. 
     599                         ' (setting_id,setting_ns,setting_value,setting_type,setting_label)'. 
     600                         ' VALUES(\'%s\',\'system\',\'%s\',\'%s\',\'%s\')'; 
     601               $core->con->execute( 
     602                    sprintf($strReq,'csp_admin_report_only',false,'boolean','CSP Report only violations (admin)')); 
    596603          } 
    597604 
Note: See TracChangeset for help on using the changeset viewer.

Sites map