콘텐츠 보안 정책(CSP) 작동 방식
"문자열 평가 거부" 및 "인라인 스크립트 실행 거부"와 같은 오류로 인해 혼란스러워함 "? XSS 공격으로부터 보호하는 중요한 보안 조치인 콘텐츠 보안 정책(CSP)의 작동 방식을 살펴보겠습니다.
기본 개념
CSP는 리소스를 로드할 수 있는 위치를 제한합니다. 브라우저가 승인되지 않은 소스로부터 데이터를 가져오는 것을 방지합니다. CSP는 허용되는 소스를 정의함으로써 악성 코드 삽입 위험을 줄입니다.
CSP 지시문 추가
CSP는 Content-Security-Policy HTTP 헤더를 사용하여 구현됩니다. 허용된 출처와 정책을 정의하는 지시어가 포함되어 있습니다. 간단한 예는 다음과 같습니다.
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://example.com;">
로그인 후 복사
지시문
가장 일반적인 지시문은 다음과 같습니다.
- default-src: 기본 정책 스크립트, 이미지, AJAX 요청을 제외한 모든 리소스
- script-src: 스크립트의 유효한 소스를 정의합니다.
- style-src: 스타일시트의 유효한 소스를 정의합니다.
- img-src: 이미지의 유효한 소스를 정의합니다.
- connect-src: 유효한 스타일을 정의합니다. AJAX 요청, WebSocket 및 EventSource.
다중 소스 및 지시어
- 지시어 내에서 공백으로 구분된 목록으로 나열하여 여러 소스를 허용합니다. 예: default- src 'self' https://example.com/js/.
- 여러 지시어 사용: 동일한 태그 내에서 세미콜론으로 구분합니다(예: content="default-src 'self'; script-src 'self'".
프로토콜 및 포트 처리
- 허용된 도메인에 포트를 추가하여 명시적으로 포트를 지정하세요(예: default-src 'self') https://example.com:8080.
- 별표를 사용하여 모든 포트를 허용합니다(예: default-src 'self' https://example.com:*.
- 허용하려면 파일 프로토콜의 경우 파일 시스템 매개변수를 사용하세요. 예: default-src 'self' filesystem:.
인라인 스크립트 및 스타일
- 기본적으로 인라인 콘텐츠는 차단됩니다. 이를 허용하려면 'unsafe-inline' 매개변수를 사용하세요(예: script-src 'unsafe-inline').
'eval()' 허용
- 'eval()' 실행을 허용하려면 'unsafe-eval' 매개변수를 사용하세요. 예: script-src 'unsafe-eval'.
'Self' 의미
- 'Self'는 동일한 프로토콜, 호스트 및 포트를 가진 리소스를 나타냅니다. 정책이 정의된 페이지입니다.
'default-src *' 취약점
모든 소스(default-src *)를 허용하는 것이 편리해 보일 수 있지만 안전하지 않으며 실제로 인라인 콘텐츠나 평가를 허용하지 않습니다. 사용을 자제해주세요.
위 내용은 CSP(콘텐츠 보안 정책)는 XSS 공격을 어떻게 방지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!