Permissions-Policy 헤더 빌더
네트워크
Permissions-Policy 헤더는 Feature-Policy의 현대적 대체: 페이지와 iframe이 어떤 기능 사용 허용되는지 브라우저에 지시. 각 기능 하나씩 선택 + 완전 차단·동일 오리진만·모든 오리진·커스텀 리스트 한정 선택. 잘 알려진 기능(camera·microphone·geolocation·payment·USB 등)을 카테고리별 태그 → 물리는 거 놓치지 않게. 경고는 안전하지 않은 기본값 잡음 — 모든 임베디드 오리진에 기능 넘기는 와일드카드, 스킴 없는 커스텀 리스트.
- accelerometer가속도계 읽기
- gyroscope자이로스코프 읽기
- magnetometer자기계 읽기
- ambient-light-sensor주변광 읽기
- camera사용자 카메라 사용
- microphone사용자 마이크 사용
- autoplay미디어 자동재생
- display-capturegetDisplayMedia로 스크린쉐어
- speaker-selection출력 오디오 장치 선택
- paymentPayment Request API 사용
- publickey-credentials-getWebAuthn 사용
- fullscreen프로그램으로 전체화면 진입
- picture-in-picturePIP 비디오 열기
- screen-wake-lock화면 깨어 있게 유지
- xr-spatial-trackingWebXR 공간 추적 사용
- geolocation사용자 위치 읽기
- clipboard-read클립보드 내용 읽기
- clipboard-write클립보드에 쓰기
- usbWeb USB 사용
- serialWeb Serial 사용
- bluetoothWeb Bluetooth 사용
- idle-detection사용자 유휴 감지
- midiWeb MIDI 사용
- web-shareWeb Share API 사용
Permissions-Policy: autoplay=(self), fullscreen=(self), picture-in-picture=(self), clipboard-write=(self), web-share=(self)모든 HTML 응답에 적용. 브라우저가 위반을 컬렉터로 보내길 원하면 Report-To + `report-uri` 디렉티브(여기선 빌드 안 함) 사용.
사용법
- strict 프리셋(전부 끔)부터 시작해 페이지가 실제 필요한 것만 켜기.
- 대부분 페이지 레벨 기능엔 `self`가 정답. `*`는 거의 정답 아님 — 모든 iframe에 기능 허용.
- 커스텀 모드는 오리진 허용 리스트(`https://embed.example.com https://other.com`). `self`·`*`는 토큰, 나머진 전체 오리진 필요.
자주 묻는 질문
- Permissions-Policy vs Feature-Policy?
- 동일 아이디어, 새 문법. Feature-Policy는 디렉티브당 공백 구분 오리진 리스트 사용; Permissions-Policy는 구조화 헤더 `feature=(origin1 origin2)` 사용. 브라우저는 이제 Permissions-Policy 존중; 구식 브라우저 지원 시 전환 윈도우에 둘 다 제공.
- 와일드카드 `*` 위험?
- 와일드카드는 모든 중첩 iframe에 기능 넘김 — 완전 신뢰 안 하는 외부 임베드 포함. 멀버타이징·공급망 침해가 iframe 주입 시, `*`는 '카메라로 스파이 가능' vs '못 함'의 차이.
관련 도구
IP 주소 분석
IPv4 또는 IPv6 입력 → 클래스·범위(사설·공인·loopback·link-local)·10진수·2진수·reverse DNS·/32 CIDR 표시.
포트 번호 참조
약 60개 표준 TCP / UDP 포트 번호 검색 가능한 치트시트 — 22(SSH)·80(HTTP)·6379(Redis)·27017(MongoDB) 등.
DNS 레코드 참조
DNS 레코드 타입 검색 가능한 치트시트 — A·AAAA·CNAME·MX·TXT·NS·SOA·PTR·SRV·CAA·DNSSEC·SVCB / HTTPS — 예시 포함.
서브넷 계산기 (IPv4 / CIDR)
IPv4 CIDR을 네트워크 주소·브로드캐스트·넷마스크·와일드카드·호스트 범위·클래스로 파싱. 이진 분석과 사설/공인 상태 표시.
User Agent 파서
User-Agent 문자열을 브라우저·엔진·OS·디바이스·CPU로 파싱. GPTBot·ClaudeBot·PerplexityBot 포함 20+ 봇 감지.
HTTP 상태 코드 레퍼런스
1xx-5xx 모든 HTTP 상태 코드 검색 — 요약·RFC·사용 시점·흔한 함정 포함.