Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 服务工作者使用了不正确的(缓存的)内容安全策略_Apache_Http_Caching_Service Worker_Content Security Policy - Fatal编程技术网

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

Apache 服务工作者使用了不正确的(缓存的)内容安全策略,apache,http,caching,service-worker,content-security-policy,Apache,Http,Caching,Service Worker,Content Security Policy,在尝试使用内容安全策略保护我的站点时,我发现了一个有趣的问题,ServiceWorker也试图加快它的速度并让它脱机运行 这是一个标准的Wordpress站点,插件开发者有一个使用外部资源的顽皮习惯,特别是在/wp admin/部分。我不知道如何将主站点上的大量内容列入白名单(尤其是不安全的eval,这是管理部分的常见问题),因此我所做的是创建一个主CSP,然后在/wp admin/I中取消设置并重置一个限制较少的集 以下是当您在站点的管理区域时,我用来取消CSP设置的代码示例: <Loc

在尝试使用内容安全策略保护我的站点时,我发现了一个有趣的问题,ServiceWorker也试图加快它的速度并让它脱机运行

这是一个标准的Wordpress站点,插件开发者有一个使用外部资源的顽皮习惯,特别是在/wp admin/部分。我不知道如何将主站点上的大量内容列入白名单(尤其是不安全的eval,这是管理部分的常见问题),因此我所做的是创建一个主CSP,然后在/wp admin/I中取消设置并重置一个限制较少的集

以下是当您在站点的管理区域时,我用来取消CSP设置的代码示例:

<Location /wp-admin/>
<IfModule mod_headers.c>
Header always unset  Content-Security-Policy
Header unset Content-Security-Policy
Header set Content-Security-Policy " default-src 'self' ps.w.org;" 
</IfModule>

</Location>

标头始终未设置内容安全策略
标题未设置内容安全策略
标题设置内容安全策略“默认src'self'ps.w.org;”
除非你去过(或打开了另一个选项卡)网站的主要区域,在这一点上ps.w.org指令(和其他指令)被忽略,否则它可以正常工作。一堆资产最终被阻止,脚本无法工作,等等。在管理部分刷新页面时临时加载正确的CSP,因此我知道它正在使用;它只是被主文件覆盖了。有时,主站点也会发生同样的情况,加载管理CSP

ServiceWorker是否正在缓存CSP,或者这里到底发生了什么?是否有某种方法可以让ServiceWorker尊重页面应该在其标题中发送的CSP?目前,我刚刚将两个CSP设置合并为一个,并删除了我在管理领域的过于宽泛的规则,但这并不理想。

这些信息有用吗?