我最近在 Apache 服务器(v.2.4.25)上实现了一些强大的Content Security Policies。奇迹般有效。这是 apache.conf
中的内容<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'none';img-src 'self'; object-src 'none'; script-src 'self'; frame-src 'self' https://www.google.com https://www.youtube.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.googleapis.com https://fonts.gstatic.com"
Header always set Strict-Transport-Security "max-age=15552001; includeSubDomains;"
</IfModule>
但是,我的一个网站需要我的conf才能变得“松懈”。 内联js 应该允许。我以为可以通过在网站根目录的 .htaccess 中添加此子句来绕过apache的全局配置:
<FilesMatch "\.(html|php)$">
<IfModule mod_headers.c>
Header set Content-Security-Policy "script-src 'self' 'unsafe-inline' static.doubleclick.net;"
</IfModule>
</FilesMatch>
但是,这似乎不起作用,因为响应标头仍显示:
Content-Security-Policy: default-src 'none';img-src 'self'; object-src 'none'; script-src 'self'; frame-src 'self' https://www.google.com https://www.youtube.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.googleapis.com https://fonts.gstatic.com
是否可以通过 .htaccess 绕过特定网站的全局 apache.conf ?可以将两者混合在一起,以便在需要时可以在此处进行通用CSP conf调整吗?