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

时间:2017-02-14 01:26:36

标签: javascript configuration content-security-policy

我的Web应用程序(JS部分)需要在加载之前由服务器配置。 现在它以下列方式完成:

<script>
var configObj = {
setting1: "blah",
setting2: {val1: 1, val2:2},
};
</script>
<script src="myapp.js">

Config是特定于请求的,并且在构建html响应时由服务器内联。 它运行良好,但违反了unsafe-inline内容安全策略规则。

不幸的是,我们不能仅依靠CSP Level 2(哈希/随机数),我们现在仍处于等级1。 是否有经过验证/推荐的以符合CSP标准的方式配置客户端应用程序的方法?

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

1 个答案:

答案 0 :(得分:1)

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