분류: 개발 도구

CSP 생성기

자체 기획 도구찾는 도구가 없나요?

지시문을 조합해 Content-Security-Policy 헤더 생성

default-src, script-src, style-src 등 각 Content-Security-Policy 지시문의 소스 목록을 설정하면, 완성된 헤더 값과 함께 각 지시문이 무엇을 허용하는지 보여주는 읽기 쉬운 표를 얻을 수 있습니다. 모든 처리는 브라우저에서 로컬로 이루어집니다.

지시문소스
default-src'self'
script-src'self'
style-src'self' 'unsafe-inline'
img-src'self' data:
font-src'self'
connect-src'self'
frame-ancestors'none'
object-src'none'
base-uri'self'
form-action'self'
upgrade-insecure-requests
Content-Security-Policy 헤더
default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;

이 페이지의 모든 처리는 브라우저에서 이루어집니다. 업로드는 없습니다.

이 도구로 할 수 있는 일

Content-Security-Policy 헤더는 페이지가 스크립트, 스타일, 이미지 등의 리소스를 어느 출처에서 불러올 수 있는지 브라우저에 알려주며, 크로스사이트 스크립팅에 맞서는 가장 강력한 방어 수단 중 하나입니다. 각 지시문은 'self', 'unsafe-inline', https: 또는 특정 도메인처럼 공백으로 구분한 소스 목록을 받는데, 이 문법을 손으로 정확히 맞추기는 번거롭습니다. 이 도구는 지시문마다 하나의 입력란으로 헤더를 조립하고, 실제로 무엇을 허용하고 있는지 표 형태로도 보여주어 적용하기 전에 검토할 수 있게 합니다.

사용 방법

  1. 제한하고 싶은 각 지시문의 소스 목록을 설정하세요.
  2. 필요하다면 upgrade-insecure-requests나 block-all-mixed-content를 켜세요.
  3. 지시문 표를 검토한 뒤 헤더 값을 복사하세요.
  4. Content-Security-Policy 응답 헤더로 전송하거나, 테스트 중이라면 Content-Security-Policy-Report-Only로 먼저 시작하세요.

개인정보

이 도구는 전부 브라우저 안에서 동작합니다. 입력한 내용은 업로드되거나 저장되거나 공유되지 않으며, 탭을 닫으면 사라집니다.

자주 묻는 질문

지시문을 비워두면 어떻게 되나요?
여기서 비워둔 지시문은 헤더에서 아예 빠지며, 보통 default-src로 대체됩니다. 먼저 default-src를 'self'처럼 안전한 기본값으로 설정해두는 것이 좋습니다.
먼저 Report-Only로 테스트해야 하나요?
네 — 같은 헤더 값을 Content-Security-Policy-Report-Only로 대신 전송하면, 페이지 동작을 막지 않으면서도 브라우저 콘솔이나 report-uri를 통해 정책이 무엇을 차단했을지 확인하면서 값을 조정할 수 있습니다.
정책을 만들기 위해 어딘가로 전송되는 정보가 있나요?
아니요. 헤더 문자열은 입력한 내용을 바탕으로 브라우저에서 직접 조립됩니다.