Feature-Policy 退场,欢迎 Permissions-Policy !

Posted by sysin on 2020-09-24
Estimated Reading Time 2 Minutes
Words 489 In Total
Viewed Times

作者:gc(at)sysin.org,主页:www.sysin.org

本文发布于:Feature-Policy 退场,欢迎 Permissions-Policy !,内容可能有所修改和更新,请访问原文链接查看最新版。

Feature Policy 介绍

Feature Policy 是一个新的 http 响应头属性,允许一个站点开启或者禁止一些浏览器属性和 API,来更好的确保站点的安全性和隐私性。有点类似内容安全策略,但是它控制的是浏览器的特征而不是安全行为.

跟其他 http 安全响应头的设置一样,只需要敲定页面具体的限制策略,然后在 http 响应头中返回相应的策略即可:

1
Feature-Policy: vibrate 'self'; usermedia '*'; sync-xhr 'self' example.com

语法

1
Feature-Policy: <feature> <allowlist>

允许开启或者禁止的浏览器属性和API列表

允许开启或者禁止的浏览器属性和 API 列表还没有完全敲定,比如 Mozilla 可以使用的指令有(see Features list):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Accelerometer
Ambient light sensor
Autoplay
Camera
Encrypted media
Fullscreen
Geolocation
Gyroscope
Magnetometer
Microphone
Midi
PaymentRequest
Picture-in-picture
USB
VR / XR

Feature-Policy 更名为 Permissions-Policy

2020年 7月 16日,W3C 组织发布规范,Feature Policy 正式更名为 Permissions Policy

Permissions Policy

W3C Working Draft, 16 July 2020

Mozilla 官网 Feature Policy 页面也更新了申明,但是具体内容尚未修改同步。

The Feature-Policy header has now been renamed to Permissions-Policy in the spec, and this article will eventually be updated to reflect that change.

9月 7日,知名的 Security Header 检测网站更改测试规则:废弃 Feature Policy,增加 Permissions Policy 检测。

Goodbye Feature Policy and hello Permissions Policy!

语法变更

原有 Feature-Policy 示例:

1
Feature-Policy: geolocation 'self' https://example.com; microphone 'none'

Permissions-Policy 语法变更为:

1
Permissions-Policy: geolocation=(self "https://example.com"), microphone=()

例如,本站部署的 Header:

1
"Feature-Policy": "camera 'none'; microphone 'none'"

也相应变更为:

1
"Permissions-Policy": "camera=(), microphonee=()"



如果文章中使用的内容和图片侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有用,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!


支付宝打赏 微信打赏

赞赏一下