Javascript 使内联JS配置对象符合CSP(CSP级别1)
我的web应用程序(JS部分)需要在加载之前由服务器进行配置。 现在,它是通过以下方式完成的:Javascript 使内联JS配置对象符合CSP(CSP级别1),javascript,configuration,content-security-policy,Javascript,Configuration,Content Security Policy,我的web应用程序(JS部分)需要在加载之前由服务器进行配置。 现在,它是通过以下方式完成的: <script> var configObj = { setting1: "blah", setting2: {val1: 1, val2:2}, }; </script> <script src="myapp.js"> var configObj={ 场景1:“废话”, 设置2:{val1:1,val2:2}, }; 配置是特定于请求的,在生成html响应时
<script>
var configObj = {
setting1: "blah",
setting2: {val1: 1, val2:2},
};
</script>
<script src="myapp.js">
var configObj={
场景1:“废话”,
设置2:{val1:1,val2:2},
};
配置是特定于请求的,在生成html响应时由服务器内联。
它工作正常,但违反了不安全的内联
内容安全策略规则
不幸的是,我们不能仅仅依赖CSP级别2(哈希/nonce),我们现在只能使用级别1。
是否有一种经过验证/推荐的方法可以以符合CSP的方式配置客户端应用程序
到目前为止,我正在考虑将其作为字符串嵌入到某个DOM元素中,然后对其进行JSON.parsing分析。还有其他(更好的)选择吗?- 您可以将所有配置选项移动到data-*属性中,然后在脚本中读取它们
- 如果您担心nonce的兼容性,您可能会发现这很有趣李>