相关疑难解决方法(0)

内容安全策略“拒绝执行内联事件处理程序”错误

我试图通过设置 Content-Security-Policy 标头来减轻 XSS 攻击,但 Chrome 不断抛出错误:

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self' 'nonce-Njg3MGUxNzkyMjViNDZkN2I3YTM3MDAzY2M0MjUxZGEzZmFhNDU0OGZjNDExMWU5OTVmMmMwMTg4OQ3ZmY.” 启用内联执行需要“unsafe-inline”关键字、散列(“sha256-...”)或随机数(“nonce-...”)。

我尝试设置 nonce,<script nonce="Njg3MGUxNzkyMjViNDZkN2I3YTM3MDAzY2M0MjUxZGEzZmFhNDU0OGZjNDExMWU5OTVmMmMwMTg4NTA3ZmY4OQ==" href="main.js"></script>但它不起作用。

这是我的Content-Security-Policy标题:

default-src 'none'; 
script-src 'self' 'nonce-NjJjN2E5YjA0ZDJhNDlhZjlhMDFmZjQzMjE4YzhmMTAzOWNjZjVjMGZjNDIxMWU5YWIyNGMwMTg4NTA3ZmY4OQ=='; 
connect-src 'self' https://vimeo.com; 
img-src 'self'; 
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; 
font-src 'self' https://fonts.gstatic.com; 
media-src 'self' http://player.vimeo.com; 
frame-src 'self' http://player.vimeo.com;
Run Code Online (Sandbox Code Playgroud)

我不喜欢设置script-srcas unsafe-inline,因为它使 Content-Security-Policy 无效

javascript http-headers content-security-policy

7
推荐指数
2
解决办法
1万
查看次数

How to let script to use setAttribute 'style' without breaking CSP

我正在努力使我的 CSP 政策尽可能严格。我需要在我的包中包含 3d 派对组件。但它使用了 element.setAttribute('style'...)破坏 CSP 的方法。有没有办法允许这个特定的脚本以这种方式内联样式?

javascript frontend content-security-policy

6
推荐指数
3
解决办法
1527
查看次数

属性内联JS的CSP哈希或随机数

内容安全策略的新手,因此不确定是否可以实现,但是想知道如何在HTML元素的属性内为某些内联脚本添加哈希或随机数。

例如:

<form method="post" onsubmit="function();">
Run Code Online (Sandbox Code Playgroud)

在谷歌浏览器中给我以下CSP错误:

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“ script-src'self'。'unsafe-inline'关键字,哈希('sha256 -...')或随机数('必须启用nonce -...')才能启用内联执行。

我已经尝试过仅对脚本进行哈希处理,例如function();以及onsubmit="function"都不起作用。我尝试将一个随机数添加到form元素,但这没有帮助。

如果需要,我可以将事件绑定移到element属性之外,只是想知道是否有一种方法可以坚持上述要求。

html javascript content-security-policy

5
推荐指数
1
解决办法
1389
查看次数