【发布时间】:2017-03-13 18:14:51
【问题描述】:
我在 ASP.NET 4.5.1 中开发了 MVC 应用程序。该应用程序在多个页面中使用 javascripts。一些javascript被引用为
@Scripts.Render("~/Scripts/bootstrap")
@Scripts.Render("~/Scripts/js")
还有一些像
这样的内联脚本<script type="javascript">
// javascript code
</script>
我想为此网站实施Content Security Policy。该站点托管在 IIS 中。所以在 IIS 中,我在 HTTP Response Header 中添加 content-security-policy 标头作为
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'self';
report-uri https://csp.withgoogle.com/csp/<unique_id>/<application_version>
所以每个响应都会包含这个标头。
问题
1. nonce 属性是否只推荐用于内联脚本?
2. 我如何将随机生成的nonce 添加到script 标记中,重要的是 IIS 如何知道随机生成的 nonce 值以便它可以包含在响应标头中? (我假设每个响应都有唯一的 nonce 值)
【问题讨论】:
标签: asp.net asp.net-mvc security content-security-policy