服务工作者使用不正确的(缓存)内容安全策略

时间:2018-01-09 15:51:19

标签: apache http caching service-worker content-security-policy

我在尝试使用内容安全策略来保护我的网站时发现了一个有趣的问题,而且还发现了ServiceWorker加速它并使其脱机运行。

它是一个标准的Wordpress网站,插件开发人员习惯使用外部资源,特别是在/ wp-admin /部分。我不知道在主网站上将大量内容列入白名单(特别是不安全评估,这是管理部分的常见罪魁祸首),所以我做的是制作一个主要的CSP,然后在/ wp-admin / I取消设置并重置限制较少的设置。

以下是我在您在网站管理区域中取消设置CSP时使用的代码示例:

Testejb

除非你已经去过(或者有另一个标签打开)网站的主要区域,否则它会正常工作,此时ps.w.org指令(和其他)被忽略。一堆资产最终被阻止,脚本无法正常工作等。在管理部分刷新页面会暂时加载正确的CSP,因此我知道它正在被使用;它只是被主要的覆盖了。有时,主站点也会发生同样的情况,也会加载管理CSP。

ServiceWorker是在缓存CSP还是在这里发生了什么?有没有办法让ServiceWorker尊重页面应该在其标题中发送的CSP?目前我只是将两个CSP设置合并为一个并删除了管理区域的超宽规则,但这并不理想。

0 个答案:

没有答案