【发布时间】:2023-01-20 04:44:33
【问题描述】:
我们正在尝试启用内容安全策略来防止 XSS,因此我们将 script-src 设置为“self”以避免内联脚本。但是,我们的应用程序正在使用具有内联事件处理程序的第三方 javascript 库。
我们读到将 unsafe-hashes 属性与 sha256 哈希一起添加,以允许该特定库执行内联事件:
我们在 web.config 中添加了以下策略:
但是在 Google Chrome 浏览器控制台中给我们以下错误:
maskedinput.js:7 拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src-attr 'unsafe-hashes' 'sha256-TS+Ok6crNR4qdKYT6T5jwMHjsPdCzbg7dmT0eWCSN20='”。启用内联执行需要“不安全内联”关键字、散列(“sha256-...”)或随机数(“nonce-...”)。
任何想法如何避免内联脚本,但同时允许这个特定的库运行内联事件。
【问题讨论】:
标签: asp.net-mvc xss content-security-policy