售前咨询
技术支持
渠道合作

新的安全标头:功能策略

上周,安全研究员Scott Helme在其博客发布一篇新博文,提到功能策略将允许网络站点启用或禁用某些浏览器功能和API,来提高网络安全性和隐私性。

什么是功能策略

功能策略是一种新的安全标头,允许网站所有者在其网页或嵌入的页面启用和禁用某些Web浏览器功能。为终端用户访问站点(包括嵌入的网站)提供更安全的体验。

功能策略的工作原理

功能策略是通过HTTP响应头提供,与创建其他各种安全标头一样。网站所有者要提前先确定所需要限制的功能,然后再构建策略。如

Feature-Policy: vibrate ‘self’; usermedia *; sync-xhr ‘self’ https://example.com

通过指定vibrate允许self功能被禁用,除了站点所有者以外,所有来源都被禁用。除了sync-xhr功能仅限于当前原点,所有来源都允许使用“usermedia”。

在Helme的示例中,Vibrate功能伴随着“self”,除了站点所有者以外,所有来源都禁用它。同样,sync-xhr功能仅限于当前原点,所有来源都允许使用“usermedia”。

站点所有者有三种不同的选择来选择起源:

此来源允许当前页面和其他嵌套浏览上下文(即iFrame)使用该功能
限制对当前页面以及任何其他嵌套浏览上下文的使用,其前提是它们位于同一来源
完全禁用页面和任何其他嵌套浏览上下文中的功能

以下是可以使用功能策略启用或禁用的功能列表:

geolocation

midi

notifications

push

sync-xhr

microphone

camera

magnetometer

gyroscope

speaker

vibrate

fullscreen

payment (付钱请求

该列表会有所更改,请密切关注页面底部链接的文档进行更新。

限制iframe

用户可通过功能策略来对iframe等内容进行更细致的控制,启用特定的iframe功能。

如父级禁用某项功能,然后在特定的iFrame上启用该功能。如下例:

Feature-Policy: vibrate ‘none’

<iframe src=“https://example.com” allow=“vibrate”>

可以在站点级别禁用振动,然后在其他特定的iFrame上启用振动功能。

当然,也可以指定此策略的另一种方式是允许example.com访问响应头中的振动,但会将其授予从该源加载的所有子上下文。

Feature-Policy: vibrate ‘self’ example.com

<iframe src=“https://example.com”>

功能策略在这方面提供了相当大的灵活性,因此可提供真正保护的方式进行部署。

支持

目前功能策略处于初期阶段,但已获得Chrome和Safari两大浏览器的支持使用。站点所有者可通过这两个浏览器提前了解该功能。相信随着浏览器的推行,用户获取的安全性将会越来越好。

上一篇:

下一篇:

相关文章