CSP란 웹 취약점 중 하나인 XSS등의 공격을 방지하기 위한 보안정책입니다.
이를 이용해 원래 존재하지 않았던 스크립트를 막아준다거나,
특정 웹사이트에서만 자원을 불러오도록 설정할 수 있습니다.
<meta http-equiv="Content-Security-Policy" content="default-src 'none'">
content="이곳에 넣고싶은 지시문과 옵션을 넣으면 됨"
위에선 default-src 'none'이라고 되어있네요.
default-src 지시문은 [모든속성에 대해] 지시하겠단 뜻이고
none은 [허용하지않겠다] 란 뜻입니다.
=> 모든속성에 대해 허용하지 않겠다.
여러문장을 넣고싶을시엔
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'none'">
;로 구분을 주어 사용하면 됩니다.
self는 현재도메인의 리소스만 만 사용하겠다는 뜻입니다.
script-src가 'none'이니 모든 스크립트는 허용이 안되겠네요
=>모든속성에대해 현재도메인의 리소스만 허용하고 스크립트는 허용하지 않겠다.
지시문
default-src : 모든 리소스에 대한 정책
script-src : Javascript 등 웹에서 실행 가능한 스크립트에 대한 정책
style-src : css에 대한 정책
connect-src : script src로 불러올 수 있는 url에 대한 정책
img-src : 이미지 ( data: URL에서 이미지가 로드되는 것을 허용하려면 data:를 지정 )
script-nonce : script-src에 nonce가 포함되는 정책
form-action : form 태그 내 action 부분에 대한 정책
object-src : 플러그인, 오브젝트에 대한 정책
media-src : video, audio
font-src : font
sandbox : HTML 샌드박스
reflected-xss : X-XSS-Protection header와 동일한 효과
report-uri : 정책 위반 케이스가 나타났을 때 내용을 전달할 URL
base-uri: <base> 요소에 나타날 수 있는 URL을 제한
속성
none : 모두 차단
self : 현재 도메인만 허용
unsafe-inline : 소스코드 내 인라인 자바스크립트 및 CSS 허용 (기본적으론 인라인 스크립트를 금지합니다.)
https://yamyam-naengmyeon-donkats.tistory.com/154
[quasar+vite] csp 방지
vite 설정의 plugin으로 간편하게 방지할 수 있다.https://ko.vite.dev/guide/api-plugin.html#client-server-communication ViteVite, 프런트엔드 개발의 새로운 기준ko.vite.dev module.exports = configure(function (ctx) { return { build:
yamyam-naengmyeon-donkats.tistory.com
'web' 카테고리의 다른 글
URL (0) | 2022.09.13 |
---|---|
IP (인터넷 프로토콜) (2) | 2022.09.11 |
웹 사용자 인증방식 [ 쿠키 , 세션 , 토큰 ] (0) | 2022.03.09 |
http란? (0) | 2022.02.02 |
DNS란? (0) | 2022.01.24 |
댓글