我試圖修改我的web軟件以使用內容安全策略。當我沒有它編譯時,一切運行良好。當我包括CSP頭,鍍鉻標誌在兩個地方的錯誤(使用Chrome開發人員工具):jquery庫中的「字符串不允許的代碼生成」
- A「拒絕,因爲它違反了內容 安全策略執行內嵌腳本...」錯誤在第一每個ASPX或HTML文件的行 - 即使沒有內聯JavaScript!
- 「從字符串不允許的上下文代碼生成」的錯誤 - 這是在jquery-1.8.3.min.js文件中記錄的 ,但似乎來自 我寫了一些我正在迭代的JQuery數據從網絡服務下載 以在頁面上生成項目。
因此,有兩個問題:爲什麼我總是被告知每個文件都違反了,即使它只是一個純靜態HTML文件?
其次,內容安全性是否真的意味着當使用JQuery生成HTML時我不能使用字符串 - 即使它在專用的.js文件中?我查看了整個網絡的信息,這個問題實際上並沒有解決。那麼......這裏的規則是什麼?
我真正想要的是防止內聯JavaScript和B)加載外部JS文件。
任何幫助將非常感謝!
UPDATE:當我將JQuery/JQueryUI升級到1.8.2/1.9.1時,字符串錯誤消失了。我之前使用的版本只有大約一個月的時間,所以這似乎是JQuery最近的一次改進。我不能肯定這是JQuery,雖然我一直在做其他更改,但它是有意義的,如果你可以在最近的JQuery。
謝謝邁克。從2001年開始使用WebForms開始,並且已經遷移到純Ajax/JQuery/WCF,但我希望這些好處值得。 –
順便說一句 - 「從字符串代碼生成...」錯誤消失了,一旦我升級JQuery/JqueryUI到1.8.2和1.9.1 –