javascript 内容安全策略. webcomponent. script src DataURI .我可以用 meta标记覆盖HTTP HEADER吗?

icomxhvb  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(109)

我正在为Shopify CMS开发一个插件。这个插件使用webcomponents.js加载聚合物脚本通过

script.src = "data:text/javascript;charset=utf-8," + encodeURIComponent(scriptContent);

网页组件js/src/HTML导入/解析器. js第307行
在FireFox中,我收到以下错误:

Content Security Policy: The page’s settings blocked the loading of a resource at data:text/javascript;charset=utf-8,/**script code*/(“script-src https://domainurl https://* 'unsafe-inline' 'unsafe-eval'”)

原始内容安全策略头(我不能在服务器上更改此头,因为Shopify是一个托管平台,我没有任何控制权)

Content-Security-Policy:
default-src 'self' https://*;
child-src 'self' https://* blob: data:; 
connect-src 'self' https://* wss://*;
font-src 'self' https://* blob: data:;
img-src 'self' https://* blob: data:; 
media-src'self' https://* blob: data:;
object-src 'self' https://* blob: data:;
script-src 'self' https://* 'unsafe-inline' 'unsafe-eval';
style-src 'self' https://* 'unsafe-inline';

我正在尝试通过 meta标记重载此标头

<meta http-equiv="Content-Security-Policy" content="
    default-src * data: 'unsafe-inline' 'unsafe-eval'; 
    script-src * data: 'unsafe-inline' 'unsafe-eval'; 
" />

是否可以通过 meta标记重载头值?

igetnqfo

igetnqfo1#

我发现无法管理内容安全策略。
我已经修补了webcomponents.js文件。我已经删除了script.src = "data:text/javascript;charset=utf-8," + encodeURIComponent(scriptContent);
现在我按script.textContent加载脚本。

相关问题