Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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
Javascript 使内联JS配置对象符合CSP(CSP级别1)_Javascript_Configuration_Content Security Policy - Fatal编程技术网

Javascript 使内联JS配置对象符合CSP(CSP级别1)

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响应时

我的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响应时由服务器内联。 它工作正常,但违反了
不安全的内联
内容安全策略规则

不幸的是,我们不能仅仅依赖CSP级别2(哈希/nonce),我们现在只能使用级别1。 是否有一种经过验证/推荐的方法可以以符合CSP的方式配置客户端应用程序

到目前为止,我正在考虑将其作为字符串嵌入到某个DOM元素中,然后对其进行JSON.parsing分析。还有其他(更好的)选择吗?

  • 您可以将所有配置选项移动到data-*属性中,然后在脚本中读取它们
  • 如果您担心nonce的兼容性,您可能会发现这很有趣