---
title: Permissions-Policy 特性控制(策略、来源与验证)
date: 2025-11-26
keywords:
- Permissions-Policy
- 特性控制
- 浏览器策略
- 资源隔离
- 验证
description: 使用Permissions-Policy(原Feature Policy)限制浏览器特性在页面与嵌入内容中的可用性,防止滥用与提升安全,提供策略声明与验证方法。
categories:
- 文章资讯
- 技术教程
---
概述
Permissions-Policy通过HTTP头限制如摄像头、麦克风、地理位置与跨域嵌入的特性。可按来源白名单控制在子帧中的可用性,降低风险并提升合规。
关键实践与参数
- 头部声明:
Permissions-Policy: geolocation=(self), camera=(), microphone=() - 来源控制: 仅允许特定源使用特性
- 与CSP协同: 同时限制资源来源与执行策略
- 审计: 记录策略拒绝事件
示例/配置/实现
add_header Permissions-Policy "geolocation=(self), camera=(), microphone=(), fullscreen=(self)" always;
import http from 'http'
const s = http.createServer((req, res) => { res.setHeader('Permissions-Policy', 'geolocation=(self), camera=(), microphone=()'); res.end('ok') })
s.listen(8080)
验证
- 特性限制: 在子帧中调用被禁用的特性失败
- 来源校验: 仅来自允许来源的子帧能使用特性
- 事件记录: 浏览器控制台与监测记录策略拒绝
- 协同效果: 与CSP与COOP/COEP共同提升安全
注意事项
- 精确声明所需与禁止的特性
- 与业务需求协同, 防止误禁用
- 持续审计并收敛策略
- 同步CDN与上游代理的头部设置

发表评论 取消回复