CSP(콘텐츠 보안 정책)는 XSS 공격을 어떻게 방지합니까?

Linda Hamilton
풀어 주다: 2024-11-11 14:06:03
원래의
167명이 탐색했습니다.

How Does Content Security Policy (CSP) Prevent XSS Attacks?

콘텐츠 보안 정책(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿