将 CSP 实施到 ASP 网络应用程序中
Implementing CSP into ASP web app
我们正在尝试将 CSP 实施到我们的网站之一,尽管我们了解如何允许或不允许脚本,但我们仍然对 nonce/sha* 部分感到困惑。我们有外部脚本,例如 bootstrap 和 jquery,它们带有 integrity="sha*" 并且应该避免使用内联脚本或样式。内联的所有内容都应重构为外部文件。
我们的问题是,我们是为网站(不是外部)中的每个 js 或 css 文件创建一个 sha* key/nonce-* 还是只是将 'self' 放在后面Content-Security-Policy 中的 script-src/style-src 是否足够?
感谢您对此的任何帮助。
链接的 JavaScript 文件不需要随机数;他们授权内联脚本标签。 “self”(或 URL)授权链接文件。您要做的清理工作是删除 HTML 中的“onclick”属性。 SHA 哈希用于验证链接文件的完整性。
所以:
- 清理内联“onclick”(及类似)和“style”属性。
- 将随机数用于内联脚本(和样式)标签。
- 对来自外部来源的链接脚本使用 SHA 哈希
我们正在尝试将 CSP 实施到我们的网站之一,尽管我们了解如何允许或不允许脚本,但我们仍然对 nonce/sha* 部分感到困惑。我们有外部脚本,例如 bootstrap 和 jquery,它们带有 integrity="sha*" 并且应该避免使用内联脚本或样式。内联的所有内容都应重构为外部文件。
我们的问题是,我们是为网站(不是外部)中的每个 js 或 css 文件创建一个 sha* key/nonce-* 还是只是将 'self' 放在后面Content-Security-Policy 中的 script-src/style-src 是否足够?
感谢您对此的任何帮助。
链接的 JavaScript 文件不需要随机数;他们授权内联脚本标签。 “self”(或 URL)授权链接文件。您要做的清理工作是删除 HTML 中的“onclick”属性。 SHA 哈希用于验证链接文件的完整性。
所以:
- 清理内联“onclick”(及类似)和“style”属性。
- 将随机数用于内联脚本(和样式)标签。
- 对来自外部来源的链接脚本使用 SHA 哈希