2012-08-11 7 views
3

Chrome 확장 프로그램 'Content Security Policy (CSP)'을 읽었습니다. 그것은 말합니다 :인라인 JS 블록이 안전하지 않은 이유는 무엇입니까?

인라인 JavaScript뿐만 아니라 위험한 문자열 - 투 - JavaScript 방법 eval과 같은, 실행되지 않습니다. 이 제한은 인라인 블록과 인라인 이벤트 처리기 (예 : <button onclick="...">)를 금지합니다.

...

는 인라인 자바 스크립트를 실행에 대한 제한을 완화하는 메커니즘이 없습니다. 특히 에 unsafe-inline이 포함 된 스크립트 정책을 설정하면 아무 효과가 없습니다. 이는 의도적 인 것입니다.

왜 인라인 <script> 블록이 안전하지 않습니까? 아무도 그것을 설명 할 수 있습니까? 예를 들면 더 좋을 것입니다.

감사합니다. 페이지로

답변

4

는 말한다 :

첫 번째 제한은 불가능 실수로 악의적 인 타사에서 제공하는 스크립트 를 실행하기하여 크로스 사이트 스크립팅 공격의 거대한 클래스를 정리합니다.

로드하는 스크립트는 기본적으로 확장 프로그램에 로컬로 액세스 할 수있는 별도의 파일에 있어야합니다. 이 페이지에 주입받을 제 3 자 스크립트를로드하거나 원하는 포함하지 못하도록 : 사용자가 작성 수있는 양식이있는 경우이의

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 

예입니다. 사용자는 JS 태그가 포함 된 스크립트 태그를 입력 할 수 있습니다. 토론 포럼과 같다고 가정 해 보겠습니다. 들어가서 주제를 만들지 만 숨겨진 JS가 있습니다. 또한 게시하기 전에 청소하지 않았다고 가정합시다. 이제 내 게시물에 누군가가 볼 때마다 실행되는 JS가 있습니다. 이렇게하면 해당 스크립트가 실행되지 않습니다.

+0

이 인라인 '

관련 문제