网站内容策略( 更多策略见CSPdirectives常见网站设置子资源完整性你可以根据内容安全策略 )

优采云 发布时间: 2022-03-14 17:11

  网站内容策略(

更多策略见CSPdirectives常见网站设置子资源完整性你可以根据内容安全策略

)

  

  除此之外,还可以使用元素来配置策略,例如

  

复制代码

  战略

  "Content-Security-Policy":策略字符串

复制代码

  资源限制可以像 img、字体、样式、框架等一样细化。

  默认源

  Content-Security-Policy: default-src 'self'

复制代码

  网站 管理员希望站点的所有内容都来自同一来源(不包括其子域),请参阅 Content-Security-Policy/default-src

  媒体-src、img-src、脚本-src

  Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com

复制代码

  这里,默认情况下,各种内容只允许从文档所在的源获取,以下情况除外:

  '不安全评估'

  允许使用 eval() 和类似函数从字符串创建代码。需要单引号。

  有关更多政策,请参阅 CSP 指令

  常用网站设置

  

  

  子资源完整性

  子资源完整性 (SRI) 是一种安全功能,允许浏览器检查他们获得的资源(例如,从 CDN 获得的资源)是否未被篡改。它通过验证获取的文件的哈希值是否与您提供的哈希值相同来确定资源是否被篡改。

  很多时候,我们使用 CDN 在多个站点之间共享脚本和样式,以提高 网站 性能并节​​省带宽。但也存在风险,如果攻击者获得了 CDN 的控制权,他可以恶意向 CDN 文件中注入任意内容,从而攻击加载 CDN 资源的站点。因此,SRI 需要确保 Web 应用程序获取的文件没有被第三方注入或以其他方式修改,以降低被攻击的风险。

  SRI的原则

  可以通过将文件内容的 base64 编码哈希值写入引用或标记的完整性属性值来启用子资源完整性。浏览器在加载内容并执行之前,会判断文件的hash值是否与完整性预期的一致,一致时才会执行。

  SRI Hash Generator 是一个在线生成 SRI 哈希的工具。

  

复制代码

  内容安全策略和子资源完整性

  您可以根据内容安全策略 (CSP) 配置您的服务器,以使指定类型的文件符合 SRI。这是通过将 require-sri-for 指令添加到 CSP 标头来实现的:

  Content-Security-Policy: require-sri-for script;

复制代码

  该指令指定所有 JavaScript 必须具有完整性属性并通过验证才能加载。

  因此,只要文件发生变化,浏览器就不会执行,有效避免了脚本攻击。

  参考链接

  关于这篇文章

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线