[英]how to run unsafe-inline in a web page, not in chrome extension page
[英]How to add 'unsafe-inline' keyword to run inline javascript?
我正在學習 javascript 並嘗試運行一些內聯 javascript 代碼。 我正在使用電子快速入門指南,並且在嘗試添加一些內聯 javascript 之前代碼運行良好。 這是我的index.html :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<title>Hello World!</title>
</head>
<body>
<script>
console.log("Hello World"); // <-- this is the line causing problems
</script>
<h1>Hello World!</h1>
We are using Node.js <span id="node-version"></span>,
Chromium <span id="chrome-version"></span>,
and Electron <span id="electron-version"></span>.
</body>
</html>
當我嘗試加載添加了console.log("Hello World")的網頁時,出現錯誤:
拒絕執行內聯腳本,因為它違反了以下內容安全策略指令:“script-src 'self'”。 啟用內聯執行需要“unsafe-inline”關鍵字、哈希(“sha256-m/hGOmrcpR2CLf5ZFUFQux1kBtD2znXvM4R5xVpagmI=”)或隨機數(“nonce-...”)。
錯誤消息告訴我可以添加一個'unsafe-inline關鍵字。 我該怎么做呢?
我嘗試搜索示例, 例如 SO 上的這個示例,或者content-security-policy.com 上的這個指南。 但是所有的例子都只是告訴我在內容安全策略中添加“unsafe-inline”,而沒有實際展示它是如何完成的。
您可以通過將元標記更改為以下內容來添加unsafe-inline
。 但是,我建議保持不變,只需通過單獨的文件加載 JS,因為更改標簽會增加一些安全風險。 它被稱為不安全是有原因的。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'">
<title>Hello World!</title>
</head>
<body>
<script>
console.log("Hello World"); // <-- this is the line causing problems
</script>
<h1>Hello World!</h1>
We are using Node.js <span id="node-version"></span>,
Chromium <span id="chrome-version"></span>,
and Electron <span id="electron-version"></span>.
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.