2017-02-14 75 views
0

我的Web應用程序(JS部分)需要在加載之前由服務器進行配置。 現在它以下列方式完成:使內聯JS配置對象符合CSP(CSP級別1)

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

配置爲請求特定的並且是由服務器內聯時HTML響應建成。 它運行良好,但它違反了unsafe-inline內容安全策略規則。

不幸的是,我們不能僅僅依靠CSP Level 2(哈希/隨機數),我們現在仍堅持第1級。 是否有證明/建議的方式配置客戶端應用程序在CSP兼容的方式?

到目前爲止,我正在考慮將它嵌入到某個DOM元素中作爲字符串,然後JSON.parsing它。還有其他(更好的)選擇嗎?

回答

1
  • 您可以將所有配置選項移動到data- *屬性中,然後在腳本中讀取它們。
  • 如果你擔心隨機的兼容性,你會發現this article有趣。
+0

謝謝你的文章鏈接,這很不錯! – vmg