connect-src
Content-Security-Policy Fetch

개요

connect-src 는 스크립트가 열 수 있는 네트워크 연결의 대상을 제어합니다. fetch(), XMLHttpRequest, WebSocket, EventSource(SSE), navigator.sendBeacon, <a ping> 등이 모두 여기에 걸립니다. 미지정 시 default-src 를 상속합니다.

자세히

API 서버(https://api.example.com), WebSocket 서버(wss://ws.example.com), 분석 엔드포인트 등을 화이트리스트로 지정합니다. 이 지시어는 데이터 유출(exfiltration) 방어의 핵심입니다. XSS가 발생하더라도 공격자가 훔친 데이터를 임의의 외부 서버로 전송하려면 connect-src 를 뚫어야 하므로, 연결 대상을 엄격히 제한하면 피해를 크게 줄일 수 있습니다.

실무에서 WebSocket 을 쓰면 ws://·wss:// 스킴을 명시해야 하며, http(s) 화이트리스트만으로는 WebSocket 이 허용되지 않는 브라우저 동작에 주의해야 합니다. sendBeacon 을 이용한 분석 전송, SSE 스트림, 서드파티 SDK의 원격 호출 도메인을 빠짐없이 포함해야 기능이 정상 동작합니다.

문법

Content-Security-Policy: connect-src 'self' https://api.example.com wss://ws.example.com

실무 참고

관련 지시어