图像和其他媒体的子资源完整性?

时间:2016-01-27 00:04:36

标签: html image https w3c subresource-integrity

Subresource integrity似乎是一个令人敬畏的权宜之计,允许以安全的方式使用第三方控制的HTTP服务资源。

the spec仅考虑HTMLLinkElementHTMLScriptElement接口:

  

注意

     

此规范的未来版本可能包括对所有可能的子资源的完整性支持,即aaudioembediframe,{{1} },imglinkobjectscriptsourcetrack元素。

我了解videoscript元素引用的内容更“活跃”,但浏览器会删除绿色挂锁以通过纯HTTP获取相对无害的图像,而规范选择忽略他们?这似乎是对我的远见卓识。

这背后的原因是什么?我们什么时候可以期待'未来修订',如果有的话?

1 个答案:

答案 0 :(得分:3)

SRI为您提供了一些保证,即您要求的资源未被更改。例如,如果您从CDN加载JQuery,那么您希望确保没有人修改它以包含恶意代码(从另一个站点加载代码的主要缺点之一 - 您隐含地信任该站点的安全性)。 SRI为您提供保证。

SRI对如何加载没什么好说的。您可以轻松地通过http下载JQuery并获得不安全的内容警报,尽管它已经过SRI验证。

由于许多原因,不安全的内容很糟糕,包括:

  1. 不保证内容未在线路上更改(SRI在某种程度上解决了这个问题)。
  2. Cookie泄露(除非受Secure属性保护)。
  3. 隐私泄露(狙击手知道您已请求该资源)。
  4. SRI仅解决第一个问题。即便如此,它只会在被改变时停止加载,并且不会降低它被改变的机会(如https那样)。

    如果您想解决不安全的内容问题,那么您可以查看内容安全策略,或者显式阻止它们,或者使用upgrade-insecure-requests指令自动升级它们(对于支持此问题的浏览器)。 / p>