我的 Content-Security-Policy 遇到问题,该问题由 bepsvpt/secure-headers 软件包处理。
使用Fineuploader将文件成功上传到S3服务器后,插件尝试加载缩略图,以发送如下请求:
Integer [] ia = {1,2,3,4};
System.out.println("Array : "+Arrays.toString(ia));
List<Integer> list2 = Arrays.asList(ia); // creates only a (new ) List reference to existing Array object (and NOT a new ArrayList Object)
// list2.add(5); // it will throw java.lang.UnsupportedOperationException - invalid operation (as Array size is fixed)
list2.set(0,10); // making changes in existing Array object using List reference - valid
list2.set(1,11);
ia[2]=12; // making changes in existing Array object using Array reference - valid
System.out.println("list2 : "+list2);
System.out.println("Array : "+Arrays.toString(ia));
此请求被我的CSP阻止,这阻止了缩略图的显示以及控制台中的以下消息:
拒绝加载图像 'blob:http://b2b.local/085a1b81-0513-47a8-a334-fbc4eca4b365'因为 它违反了以下内容安全策略指令:“ img-src “自我” http://*.google-analytics.com http://businessmarketplace.s3.amazonaws.com http://b2b.dev http://placehold.it http://mediaweek.com.au数据:”。
我的CSP配置如下:
/usr/local
注意,我正在将 img-src 策略的选项self,data和blob设置为 true 。
在删除 img-src 策略的所有配置并将 default-src 设置为 sudo chown -R "$USER":admin /usr/local/*
sudo chown -R "$USER":admin /Library/Caches/Homebrew/*
时,我将获得该插件正确显示缩略图,但基本上我不允许所有类型的请求,因此忽略了这一点。
我的配置出现了什么问题,当“ self”和blob:属性设置为 true 时,无法加载缩略图?
答案 0 :(得分:0)
在与我的团队测试了不同的配置之后,我们发现您可以使用 allow
数组来指定 'self'
或< strong> blob:
,因此我们将 img-src
指令设置为:
'img-src' => [
'allow' => [
"'self'", 'blob:',
$protocol.'*.google-analytics.com',
$protocol.'businessmarketplace.s3.amazonaws.com',
$protocol.'placehold.it',
$protocol.'mediaweek.com.au',
],
],
现在该政策允许 blob:http://b2b.local/hash