Blue Flower

Feature Policy 介绍

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

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

1
Feature-Policy: vibrate 'self'; usermedia '*'; sync-xhr 'self' sysin.org

语法

1
Feature-Policy:  

允许开启或者禁止的浏览器属性和 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 (sysin),增加 Permissions Policy 检测。

Goodbye Feature Policy and hello Permissions Policy!

语法变更

原有 Feature-Policy 示例:

1
Feature-Policy: geolocation 'self' https://sysin.org; microphone 'none'

Permissions-Policy 语法变更为:

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

例如,知识兔部署的 Header:

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

也相应变更为:

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

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载