개발자 / 보안 정책
CSP 생성기: 콘텐츠 보안 정책 작성 및 분석
소스 목록, nonce 및 해시 플레이스홀더, 보고 지시문과 일반적인 프리셋으로 Content-Security-Policy 헤더를 생성합니다. 경고를 확인하고 HTTP, meta, nginx, Apache 또는 정적 _headers 출력을 복사하십시오.
CSP 생성기: 콘텐츠 보안 정책 작성 및 분석: 정책을 로컬에서 작성하고 unsafe-inline, unsafe-eval, 광범위한 소스, 중복 지시문 및 배포 플레이스홀더를 표시합니다. 파서는 알 수 없는 지시문을 보존하며, 반복된 지시문은 처음 나타난 항목을 사용합니다. 한 번에 하나의 정책만 분석하며 보호된 페이지를 불러오지 않습니다. 서버에 파일을 전혀 업로드하지 않고 브라우저에서 100% 로컬로 실행됩니다.
- 카테고리
- 개발자 도구
- 실행 횟수
- 브라우저에서
- 비용
- 무료 · 가입 불필요
- 사용 가능 여부
- 사용 가능
브라우저에서 전부 실행됩니다
프리셋은 현재 정책을 대체합니다. 먼저 보고 전용 헤더로 테스트하십시오. Nonce 자리 표시자에는 서버 통합이 필요하며, 정적 헤더는 새 nonce를 생성할 수 없습니다.
script-src · strict-dynamic에는 유효한 nonce 또는 hash가 필요하며, 지원되는 브라우저에서는 호스트 허용 목록을 재정의합니다.
script-src · 배포 전에 nonce 및 hash 자리 표시자를 교체하십시오. 각 응답마다 예측할 수 없는 새 nonce를 생성하십시오.
Meta 정책으로는 frame-ancestors 또는 sandbox를 적용하거나 report-uri를 사용하거나 보고 전용 정책을 전달할 수 없습니다. 보고 지시어는 여기에서 제외됩니다.
이는 보안 감사가 아닌 구문 및 위험 검토입니다. 알 수 없거나 잘못된 소스 표현식은 브라우저에서 테스트해야 합니다. 추가 정책은 함께 적용되며 이전 정책을 완화할 수 없습니다. 생성된 _headers 파일은 정적 응답용이고, 동적 응답에는 별도의 헤더 설정이 필요합니다.
정책 구문 및 전달
W3C Content Security Policy Level 3: https://www.w3.org/TR/CSP3/ 지시문은 세미콜론으로, 값은 공백으로 구분합니다. 메타 전달은 HTTP 응답 헤더보다 기능이 적습니다.
논스, 해시 및 배포
MDN Content Security Policy 가이드: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP strict-dynamic은 논스 또는 해시로 승인된 스크립트의 신뢰를 해당 스크립트가 불러오는 스크립트로 전달하며, 이를 지원하는 브라우저에서는 호스트 허용 목록보다 우선합니다. 신뢰된 스크립트의 동작을 감사하고 최종 정책을 테스트하십시오.
사용 방법
- 프리셋을 선택하거나 기존 정책을 붙여넣으십시오.
- 지시문을 활성화하고 공백으로 구분된 값을 편집한 후 경고를 확인하십시오.
- 출력 형식을 선택하고 복사한 다음 사이트의 리소스에 대해 테스트하십시오.
개인정보 보호 및 제한사항
정책은 브라우저에 저장됩니다. 어떤 웹사이트에도 접속하지 않습니다.
관련 도구
자주 묻는 질문
nonce 플레이스홀더를 그대로 사용할 수 있습니까?
아니요. 각 응답마다 예측할 수 없는 nonce를 생성하고, 신뢰할 수 있는 스크립트에 일치하는 값을 넣으십시오. 고정된 정적 헤더로는 nonce를 생성할 수 없습니다. 해시 플레이스홀더는 의도한 콘텐츠의 실제 해시로 바꾸십시오.
meta 정책으로 할 수 없는 작업은 무엇입니까?
frame-ancestors 또는 sandbox를 적용하거나 report-uri를 사용하거나 report-only 정책을 전달할 수 없습니다. 생성된 meta 출력에서는 보고 지시문이 제외되며, 문서 head 앞부분에 배치해야 합니다.
report-to가 보고 엔드포인트를 생성합니까?
아니요. 별도의 Reporting-Endpoints 응답 헤더가 필요한 그룹의 이름을 지정할 뿐입니다. report-uri는 더 오래된 방식이며 브라우저 지원 여부가 다릅니다. 이 도구는 보고서를 전송하지 않습니다.
프리셋이 제 웹사이트에서 작동한다고 보장됩니까?
아니요. report-only HTTP 전달로 시작하고 사이트에 필요한 리소스를 확인하십시오. 기존 정책은 새 정책과 함께 적용되므로, 두 번째 정책으로 이전 제한을 완화할 수 없습니다. 정적 _headers 전달은 동적으로 생성되는 응답에는 적용되지 않습니다.
무료 도구 · 브라우저에서회 실행 · 계정 불필요