我在开发者控制台中遇到了一堆错误:
拒绝评估字符串
拒绝执行内联脚本,因为它违反了以下内容安全策略指令
拒绝加载脚本
拒绝加载样式表
这是怎么回事?内容安全策略如何运作?我如何使用Content-Security-PolicyHTTP标头?
具体来说,如何......
file://协议?<style>和<script>?eval()?最后:
'self'意思?html javascript security http-headers content-security-policy
我正在尝试使用Web控制台将文本放在页面上的所有h2标记内.
我发现所有人都说要使用每一个,我试过了
var anArray = [];
$('h2').each( function(i,e) {
anArray.push($(e).innerHTML);
});
Run Code Online (Sandbox Code Playgroud)
但它返回TypeError: $(...).each.each不是一个函数.
我也试过用
$.each('h2', function(i,e) {
anArray.push($(e).innerHTML);
});
Run Code Online (Sandbox Code Playgroud)
但是,我得到的TypeError: $.each只是一个功能?
我收到此错误:
Refused to load the image 'blob:file:///cf368042-bf23-42b6-b07c-54189d3b0e01' because it violates the following Content Security Policy directive: "default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: gap: content:". Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.
Run Code Online (Sandbox Code Playgroud)
在尝试加载 mapboxGL 地图时。这是我的 CSP 标签:
<meta http-equiv="Content-Security-Policy"
content="
worker-src blob:;
child-src blob: gap:;
default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: gap: content:">
Run Code Online (Sandbox Code Playgroud) 有人知道为什么我总是收到此消息吗?拒绝运行 JavaScript URL,因为它违反了以下内容安全策略指令:“default-src 'self'”。启用内联执行需要“unsafe-inline”关键字、哈希值(“sha256-...”)或随机数(“nonce-...”)。另请注意,“script-src”未明确设置,因此“default-src”用作后备。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>Title</title>
<script type="text/javascript">
function checkoutForm() {
var inputValue = document.querySelectorAll('.form-control')[0].value;
alert('Your input value: ' + inputValue);
window.open('/search/' + inputValue);
}
</script>
</head>
<body>
<form class="navbar-search navbar-search-dark form-inline mr-3 d-none d-md-flex ml-lg-auto" method="get"
action="javascript:checkoutForm()">
<div class="form-group mb-0">
<div class="input-group input-group-alternative">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input class="form-control" placeholder="Search" type="search" value>
</div>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我们开始吧:我是谷歌 chrome 扩展开发的新手,所以请耐心等待。
我有一个扩展程序,它给了我以下错误:
拒绝框架 ' https://api.xxx.jp/ ' 因为它违反了以下内容安全策略指令:“frame-src 'self' https://staticxx.facebook.com https://twitter.com https: //*.twimg.com https://5415703.fls.doubleclick.net https://player.vimeo.com https://pay.twitter.com https://www.facebook.com https://ton .twitter.com https://syndication.twitter.com https://vine.co推特:https : //www.youtube.com https://platform.twitter.com https://upload.twitter.com https ://s-static.ak.facebook.com https://4337974.fls.doubleclick.net https://8122179.fls.doubleclick.net https://donate.twitter.com”。
我的manifest.json文件具有以下关于内容安全策略的设置:
{
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'",
"manifest_version": 2,
}
Run Code Online (Sandbox Code Playgroud)
在我的content.js文件中,我通过iframe标签内部调用 api :
<iframe src="'+url+'" name="xxxExtensionsFrame" width="380" height="' + (heightBase - 5) + '" border="0" frameborder="0" scrolling="no"></iframe>
Run Code Online (Sandbox Code Playgroud)
api 的url始终为 https 形式。
google-chrome google-chrome-extension content-security-policy manifest.json