Viv*_*ndi 5 validationsummary content-security-policy
我有一个使用asp-validation-summary. 因此,内联style被添加到我页面中的 HTML 元素中。
当我运行我的应用程序时,这在控制台(Chrome v78.0.3904.108)中给了我以下错误:
拒绝应用内联样式,因为它违反了以下内容安全策略指令:“style-src 'self' https://fonts.googleapis.com ”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-aqNNdDLnnrDOnTNdkJpYlAxKVJtLt9CtFLklmInuUAE=')或随机数(“nonce-...”)。
所以我将哈希添加到我的 CSP 中,现在看起来像这样:
style-src 'self' https://fonts.googleapis.com 'sha256-aqNNdDLnnrDOnTNdkJpYlAxKVJtLt9CtFLklmInuUAE=';
Run Code Online (Sandbox Code Playgroud)
当我加载我的页面时,我仍然收到类似的错误:
拒绝应用内联样式,因为它违反了以下内容安全策略指令:“style-src 'self' https://fonts.googleapis.com 'sha256-aqNNdDLnnrDOnTNdkJpYlAxKVJtLt9CtFLklmInuUAE='”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-aqNNdDLnnrDOnTNdkJpYlAxKVJtLt9CtFLklmInuUAE=')或随机数(“nonce-...”)。
这是整个 CSP 标头:
X-Content-Security-Policy: default-src 'self'; object-src 'none'; frame-ancestors 'none'; sandbox allow-forms allow-same-origin allow-scripts; base-uri 'self'; upgrade-insecure-requests; style-src 'self' https://fonts.googleapis.com 'sha256-aqNNdDLnnrDOnTNdkJpYlAxKVJtLt9CtFLklmInuUAE='; font-src 'self' https://fonts.gstatic.com;
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经添加了哈希,正如错误中所暗示的那样。它似乎也是一个有效的 header。
但为什么这不起作用?
小智 2
您必须添加unsafe-hashes.
unsafe-hashes允许启用特定的内联事件处理程序。如果您只需要允许内联事件处理程序而不允许内联元素或 javascript: URL,那么与使用不安全内联表达式相比,这是一种更安全的方法。
来源:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |