8
我有一個頁面,我設置了內容安全策略的這樣的腳本源:爲什麼內嵌安全策略阻止了這種內嵌JavaScript?
script-src 'self' *.uservoice.com *.intuit.com ajax.googleapis.com localhost:*
當我加載與我創建自己來測試一個硬編碼的嵌入式腳本的頁面,它被阻止像預期:
拒絕,因爲它違反了以下 內容安全策略指令執行內嵌腳本:「腳本的src‘自我’ * .uservoice.com * .intuit.com ajax.googleapis.com本地主機: *「。 「內聯不安全」關鍵字,散列('sha256 -...')或現成的 ('nonce -...')是啓用內聯執行所必需的。
然而,當我動態插入一個新的腳本,該腳本不堵塞,例如,這仍然執行:
$("body").append("<script>alert('xss');</script>")
我使用的是Chrome在這裏進行測試的瀏覽器
。我希望這個腳本也會被阻止,因爲這會有助於防止xss。有什麼我可以改變來阻止這種類型的腳本注入?
你爲什麼要封鎖?這是非常安全的,除非你不信任你自己的代碼(在這種情況下,你需要清理它)。 – soktinpk
撰寫安全的JavaScript嗎? – Ryan
jQuery'eval'uates'