> 웹 프론트엔드 > JS 튜토리얼 > CSP(콘텐츠 보안 정책)는 XSS(교차 사이트 스크립팅 공격)로부터 어떻게 보호합니까?

CSP(콘텐츠 보안 정책)는 XSS(교차 사이트 스크립팅 공격)로부터 어떻게 보호합니까?

Linda Hamilton
풀어 주다: 2024-11-08 22:33:02
원래의
224명이 탐색했습니다.

How does Content Security Policy (CSP) protect against cross-site scripting attacks (XSS)?

콘텐츠 보안 정책(CSP)의 작동 방식

지금까지 접한 수많은 CSP 관련 오류에 대한 대응으로 이 문서에서는 콘텐츠 보안 정책의 작동 원리를 설명하고 이를 효과적으로 활용하기 위한 실질적인 지침을 제공합니다.

What CSP인가요?

CSP(콘텐츠 보안 정책)는 XSS(교차 사이트 스크립팅 공격)의 위험을 완화하도록 설계된 브라우저 측 보안 기능 역할을 합니다. 이 정책을 사용하면 스크립트, 스타일시트, 이미지와 같은 리소스를 로드하기 위한 승인된 소스를 정의하여 브라우저가 승인되지 않은 위치에서 데이터를 검색하는 것을 방지할 수 있습니다.

콘텐츠 보안 정책 HTTP 헤더 활용

웹사이트에 CSP를 구현하려면 다음을 포함하는 Content-Security-Policy HTTP 헤더를 활용할 수 있습니다. 정책의 매개변수를 구성하는 메타태그입니다. 이 메타 태그에는 정책 지침과 소스 권한 부여 규칙을 정의하는 콘텐츠 속성이 포함되어 있습니다.

질의 사항 해결

제기한 질문을 자세히 살펴보겠습니다.

1. 여러 소스:

여러 소스의 리소스를 허용하려면 지시어 뒤에 공백으로 구분된 값으로 나열하면 됩니다.

content="default-src 'self' https://example.com/js/"
로그인 후 복사

2. 다양한 지시어:

일반적인 지시어는 다음과 같습니다.

  • default-src: 다양한 리소스 로드를 위한 기본 정책
  • script-src: JavaScript 파일의 유효한 소스
  • style-src: 유효한 CSS 소스 파일
  • img-src: 유효한 이미지 소스

3. 여러 지시어:

세미콜론을 구분 기호로 사용하여 단일 메타 태그 내에서 지시어를 결합합니다.

content="default-src 'self' https://example.com/js/; style-src 'self'"
로그인 후 복사

4. 포트 처리:

포트 번호나 별표를 추가하여 기본값 이외의 포트를 명시적으로 인증합니다.

content="default-src 'self' https://ajax.googleapis.com http://example.com:123/free/stuff/"
로그인 후 복사

5. 프로토콜 처리:

기본값이 아닌 프로토콜을 명시적으로 허용:

content="default-src 'self'; connect-src ws:; style-src 'self'"
로그인 후 복사

6. file:// 프로토콜:

filesystem 매개변수를 사용하여 file:// 프로토콜을 허용합니다:

content="default-src filesystem"
로그인 후 복사

7. 인라인 스타일 및 스크립트:

인라인 스타일, 스크립트, 태그를 활성화하려면 'unsafe-inline' 매개변수를 사용하세요:

content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"
로그인 후 복사

8. eval() 호출:

'unsafe-eval' 매개변수를 활용하여 eval()을 허용합니다:

content="script-src 'unsafe-eval'"
로그인 후 복사

9. 'self' 해석:

'self'는 콘텐츠 정책이 정의된 파일과 동일한 프로토콜, 호스트, 포트를 공유하는 리소스를 나타냅니다.

content="default-src https://example.com"
로그인 후 복사

참고하세요 'self'는 http나 로컬 파일과 같은 안전하지 않은 프로토콜을 허용하지 않습니다.

추가 팁:

  • 인라인 및 평가를 허용하여 보안 취약점을 생성하므로 content="default-src *" 사용을 피하세요.
  • 역방향 소스에 대해 보안(https) 소스와 안전하지 않은(http) 소스를 모두 지정하는 것이 좋습니다. 호환성.
  • CSP 구현을 강제하지 않고 테스트하려면 Content-Security-Policy-Report-Only를 사용하세요.
  • 브라우저 오류 로그를 모니터링하여 정책 위반을 감지하세요.

위 내용은 CSP(콘텐츠 보안 정책)는 XSS(교차 사이트 스크립팅 공격)로부터 어떻게 보호합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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