찾다
웹 프론트엔드H5 튜토리얼HTML5의 콘텐츠 보안 정책(CSP)

HTML5의 콘텐츠 보안 정책(CSP)

Oct 07, 2017 am 11:40 AM
h5html5전략

머리말:

Cordova不支持内联事件,所以点击事件必须提取到js里面.
以下是从官网摘抄下来,希望对您有所帮助

많은 잠재적인 교차 사이트 스크립팅 문제를 완화하기 위해 Chrome의 확장 시스템에는 CSP(콘텐츠 보안 정책)의 일반적인 개념이 통합되었습니다. 이는 기본적으로 확장 프로그램을 더욱 안전하게 만들고 확장 프로그램과 애플리케이션에 의해 로드되고 실행될 수 있는 콘텐츠 유형을 제어하는 ​​규칙을 생성하고 시행할 수 있는 기능을 제공하는 상당히 엄격한 정책을 도입합니다.

일반적으로 CSP는 확장 프로그램이 로드하거나 실행하는 리소스에 대한 해킹/화이트리스트 메커니즘 역할을 합니다. 확장 프로그램에 대한 합리적인 정책을 정의함으로써 확장 프로그램에 필요한 리소스를 신중하게 고려하고 브라우저에 확장 프로그램이 액세스할 수 있는 유일한 리소스인지 확인하도록 요청할 수 있습니다. 이러한 정책은 확장 프로그램에서 요청한 호스트 권한 이상의 보안을 제공하며 대체가 아닌 추가 보호 계층입니다.

웹에서는 이러한 정책이 HTTP 헤더나 요소를 통해 정의됩니다. Chrome 확장 시스템에도 적합한 메커니즘이 아닙니다. 대신 확장 프로그램의 정책은 다음과 같은 확장 프로그램의 매니페스트.json 파일을 통해 정의됩니다.

{ 
   … 
   “content_security_policy”:“[POLICY STRING GOES HERE]” 
   …
}

CSP 구문에 대한 자세한 내용은 콘텐츠 보안 정책 사양 및 HTML5 Rocks의 "콘텐츠 보안 정책 소개" 문서를 참조하세요.

기본 정책 제한 사항

manifest_version 패키지가 정의되지 않았습니다. 기본 콘텐츠 보안 정책이 없습니다. 매니페스트 버전 2를 선택하는 경우 기본 콘텐츠 보안 정책이 있습니다:

script-src'self'; object-src'self'

이 정책은 세 가지 방법으로 확장 프로그램과 애플리케이션을 제한하여 보안을 강화합니다.

(1) 평가 및 관련 기능이 비활성화됩니다.

다음 코드는 작동하지 않습니다.

alert(eval("foo.bar.baz")))

window.setTimeout(“alert(’hi’)”,10); 
 window.setInterval(“alert(’hi’)”,10); 
 new Function(“return foo.bar.baz”);

이와 ​​같은 JavaScript 문자열을 평가하는 것은 일반적인 XSS 공격 벡터입니다. 대신 다음과 같은 코드를 작성해야 합니다:

alert(foo && foo.bar && foo.bar.baz); 
window.setTimeout(function(){alert(’hi’);},10); 
window.setInterval(function(){alert(’hi’);},10); 
function(){return foo && foo.bar && foo.bar.baz};

(2) 인라인 JavaScript가 실행되지 않습니다

인라인 JavaScript가 실행되지 않습니다. 이 제한은 인라인 블록과 인라인 이벤트 핸들러 프로그램(예: )을 금지합니다.

첫 번째 제한은 악의적인 제3자가 제공한 스크립트를 실수로 실행하는 것을 방지하여 수많은 교차 사이트 스크립팅 공격을 제거합니다. 하지만 코드를 작성하는 것과 코드가 수행하는 작업을 명확하게 구분해야 합니다. (반드시 수행해야 함) 그렇죠? 예를 들어 보면 이를 더 명확하게 알 수 있습니다. 다음을 포함하는 단일 popup.html로 브라우저 작업 팝업을 작성해 볼 수 있습니다.

<!doctype html> 
      My Awesome Popup! 
       function awesome(){ 
         //做某事真棒! 
       }
   function totalAwesome(){
     //做某事真棒!
   }
  函数clickHandler(element){
     setTimeout( “awesome();getherAwesome()” ,1000);
   }
   function main(){
     //初始化工作在这里。
   }
 </ SCRIPT>

멋진 기능을 보려면 클릭하세요!


기본 정책 완화

(1) 인라인 스크립트

Chrome 45까지는 인라인 JavaScript 실행에 대한 제한을 완화하는 메커니즘이 없었습니다. 특히 'unsafe-inline'이 포함된 스크립트 정책을 설정하면 아무런 효과가 없습니다.

Chrome 46부터 정책에 소스 코드의 base64 인코딩 해시를 지정하여 인라인 스크립트를 화이트리스트에 추가할 수 있습니다. 해시 앞에는 사용된 해싱 알고리즘(sha256, sha384 또는 sha512)이 추가되어야 합니다.

예시 정보

위 내용은 HTML5의 콘텐츠 보안 정책(CSP)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
H5 코드 해체 : 태그, 요소 및 속성H5 코드 해체 : 태그, 요소 및 속성Apr 18, 2025 am 12:06 AM

HTML5 코드는 태그, 요소 및 속성으로 구성됩니다. 1. 태그는 컨텐츠 유형을 정의하고 다음과 같은 각도 브래킷으로 둘러싸여 있습니다. 2. 요소는 컨텐츠와 같은 시작 태그, 내용 및 엔드 태그로 구성됩니다. 3. 속성 시작 태그에서 키 값 쌍을 정의하고 기능을 향상시킵니다. 웹 구조를 구축하기위한 기본 단위입니다.

H5 코드 이해 : HTML5의 기본 사항H5 코드 이해 : HTML5의 기본 사항Apr 17, 2025 am 12:08 AM

HTML5는 현대적인 웹 페이지를 구축하는 핵심 기술로 많은 새로운 요소와 기능을 제공합니다. 1. HTML5는 웹 페이지 구조 및 SEO를 향상시키는 의미 론적 요소를 소개합니다. 2. 멀티미디어 요소를 지원하고 플러그인없이 미디어를 포함시킵니다. 3. 양식은 새로운 입력 유형 및 검증 속성을 향상시켜 검증 프로세스를 단순화합니다. 4. 웹 페이지 성능 및 사용자 경험을 향상시키기 위해 오프라인 및 로컬 스토리지 기능을 제공합니다.

H5 코드 : 웹 개발자를위한 모범 사례H5 코드 : 웹 개발자를위한 모범 사례Apr 16, 2025 am 12:14 AM

H5 코드에 대한 모범 사례는 다음과 같습니다. 1. 올바른 문서 선언 및 문자 인코딩 사용; 2. 시맨틱 태그를 사용하십시오. 3. HTTP 요청을 줄입니다. 4. 비동기 부하 사용; 5. 이미지 최적화. 이러한 관행은 웹 페이지의 효율성, 유지 관리 및 사용자 경험을 향상시킬 수 있습니다.

H5 : 웹 표준 및 기술의 발전H5 : 웹 표준 및 기술의 발전Apr 15, 2025 am 12:12 AM

웹 표준과 기술은 현재까지 HTML4, CSS2 및 간단한 JavaScript에서 발전했으며 중대한 개발을 거쳤습니다. 1) HTML5는 캔버스 및 웹 스토리지와 같은 API를 도입하여 웹 응용 프로그램의 복잡성과 상호 작용을 향상시킵니다. 2) CSS3은 애니메이션 및 전환 기능을 추가하여 페이지를보다 효과적으로 만듭니다. 3) JavaScript는 화살표 기능 및 클래스와 같은 Node.js 및 ES6의 최신 구문을 통해 개발 효율 및 코드 가독성을 향상시킵니다. 이러한 변경으로 인해 웹 애플리케이션의 성능 최적화 및 모범 사례의 개발이 촉진되었습니다.

H5는 HTML5의 속기입니까? 세부 사항을 탐색합니다H5는 HTML5의 속기입니까? 세부 사항을 탐색합니다Apr 14, 2025 am 12:05 AM

H5는 HTML5의 약어 일뿐 만 아니라 더 넓은 현대 웹 개발 기술 생태계를 나타냅니다. 1. H5는 HTML5, CSS3, JavaScript 및 관련 API 및 기술을 포함합니다. 2. 그것은 더 풍부하고 대화식이며 부드러운 사용자 경험을 제공하며 여러 장치에서 원활하게 실행할 수 있습니다. 3. H5 기술 스택을 사용하여 반응 형 웹 페이지와 복잡한 대화식 기능을 만들 수 있습니다.

H5 및 HTML5 : 웹 개발에 일반적으로 사용되는 용어H5 및 HTML5 : 웹 개발에 일반적으로 사용되는 용어Apr 13, 2025 am 12:01 AM

H5 및 HTML5는 동일한 것을, 즉 html5를 나타냅니다. HTML5는 HTML의 다섯 번째 버전으로 시맨틱 태그, 멀티미디어 지원, 캔버스 및 그래픽, 오프라인 스토리지 및 로컬 스토리지와 같은 새로운 기능을 제공하여 웹 페이지의 표현성 및 상호 작용성을 향상시킵니다.

H5는 무엇을 언급합니까? 맥락 탐색H5는 무엇을 언급합니까? 맥락 탐색Apr 12, 2025 am 12:03 AM

h5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelements 및 dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enovannangeserexperienceacrossdevices.3) SemanticLementsImproveContentsTructUreAndSeo.4) H5'Srespo

H5 : 도구, 프레임 워크 및 모범 사례H5 : 도구, 프레임 워크 및 모범 사례Apr 11, 2025 am 12:11 AM

H5 개발에서 마스터 해야하는 도구 및 프레임 워크에는 vue.js, React 및 Webpack이 포함됩니다. 1.vue.js는 사용자 인터페이스를 구축하고 구성 요소 개발을 지원하는 데 적합합니다. 2. 복잡한 응용 프로그램에 적합한 가상 DOM을 통해 페이지 렌더링을 최적화합니다. 3. Webpack은 모듈 포장에 사용되며 리소스로드를 최적화합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구