当内联代码可以在IIS 10中运行时,如何避免javascript注入



我试图避免用户在我的html中使用浏览器检查器编写javascript,而我自己的内联和页内javascript可以运行。

我在IIS中尝试过这些内容安全策略标头:

default-src 'self' site.com ;style-src 'self' site.com 'unsafe-inline';script-src 'self' site.com 'unsafe-inline'

这将允许运行我自己的代码,但用户可以在html和以下内容中注入javascript:

default-src 'self' site.com ;style-src 'self' site.com 'unsafe-inline';script-src 'self' site.com

不会让用户注入代码,但我自己的代码不能再运行了。

如何避免用户在我的html代码中注入类似alert('ok'(的代码,但使用IIS在内联和页内运行javascript代码?

根据这一点,如果你想确保只有原始的内联代码可以运行,那么你可以计算内联JavaScript的哈希,并将其放入CSP策略中,如下所示:

script-src js-cdn.example.com 'sha256-xzi4zkCjuC8lZcD2UmnqDG0vurmq12W/XKM5Vd0+MlQ='

当CSP阻止内联脚本时,您的浏览器开发工具控制台可能会为您计算哈希并在控制台中输出。

相关内容

  • 没有找到相关文章