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 | Accelerometer |
Feature-Policy 更名为 Permissions-Policy
2020年 7月 16日,W3C 组织发布规范,Feature Policy 正式更名为 Permissions Policy。
Permissions Policy
W3C Working Draft, 16 July 2020
-
This version:
https://www.w3.org/TR/2020/WD-permissions-policy-1-20200716/
-
Latest published version:
-
Editor’s Draft:
-
Previous Versions:
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=()" |
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验