2012-01-13 2 views
0

원격 자바 스크립트 파일을 특정 페이지에 삽입하려는 클라이언트 용 Chrome 확장 프로그램을 개발 중입니다.원격 서버의 자바 스크립트 파일을 페이지에 삽입 할 수 있습니까?

허용 되나요? 예를 들어 파이어 폭스에서 이러한 확장 기능은 AMO의 승인을받지 못할 것이라는 것을 알고 있습니다.

허용되는 경우 가능하면 보안을 유지하는 가장 좋은 방법은 무엇입니까? :) 사전에 모든

답변

5

감사합니다 (이미 중간 공격 사람을 부정하기 위해 HTTPS를 사용하여)이 드물지 않다, 확장의 숫자가 이렇게, 그래서 당신이 경우 거부 기대하지 않습니다 너 조심해.

1 : https://mikewest.org/2011/10/secure-chrome-extensions-content-security-policy 지금 현재로

, 당신은이 작업을 수행 할 수있는 몇 가지 방법이 있습니다 : 그러나, 미래에이 기능에 영향을 미칠 수있는 새로운 CSP (콘텐츠 보안 정책) 변화에 주시 할) XMLHttpRequest를 백그라운드 페이지에서 사용하여 코드를 다운로드 할 수 있으며 chrome.tabs.executeScript를 사용하여 웹 페이지에 삽입 할 수 있습니다.

2) 콘텐츠 스크립트에서도 도메인 간 XMLHttpRequest를 사용할 수 있기 때문에 콘텐츠 스크립트에서 동일한 작업을 수행 할 수 있습니다.

3) 페이지에 "src"속성이 외부 스크립트를 가리키는 요소를 만드는 콘텐츠 스크립트를 만들 수 있습니다.

추가 보안

가 가능한 한 안전하게하려면, HTTPS는 열쇠가 될 것입니다. 스크립트를 실제로 인코딩하거나 서명함으로써 추가 보안 수준을 제공 할 수 있습니다. 예 :

1) 공개/개인 키 쌍을 만들고, 공개 키가 내선 번호에 포함되며 개인 키는 준비가되었을 때 스크립트를 인코딩하는 데 사용됩니다.

2) 서버 측에서 스크립트 코드를 마친 다음 개인 키로 인코딩하십시오.

3) 확장 측면에서 "문서"스크립트를 다운로드 한 다음 공개 키로 해독하십시오. 유효한 스크립트 파일인지 확인하십시오.

이렇게하면 개인 키의 소유자가 서명 한 것으로 알고있는 스크립트 만 수락하고 실행할 수 있습니다.

+0

스크립트를 다운로드 할 때 HTTPS를 사용하는 것보다 "추가 보안"이주는 이점은 무엇입니까? – tsh

관련 문제