크롬 확장프로그램은 기본적(Default)으로 Local 스크립트 파일만 접근을 허용하고 있다.


그런데 크롬 확장프로그램을 개발하다보면 Local에 있는 스크립트 말고 인터넷에 존재하는 외부 스크립트에 접근해야 할 필요가 있다.


구글에선 보안상의 문제로 외부 스크립트 및 오브젝트 접근을 막고 있다. (man-in-the-middle attacks)




따라서, 외부 스크립트에 접근하기 위해선 두가지 다른 방법을 써야 한다.


1. 외부 스크립트 파일 직접 다운


다음 html 코드는 외부 스크립트를 접근하고 있다.


<!doctype html>
<html>
  <head>
    <title>My Awesome Popup!</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  </head>
  <body>
    <button>Click for awesomeness!</button>
  </body>
</html>


해당 주소에 가서 스크립트 파일을 복사하고 크롬 확장프로그램 개발 폴더에 저장한 다음, 코드를 아래처럼 바꾼다.


<!doctype html>
<html>
  <head>
    <title>My Awesome Popup!</title>
    <script src="jquery.min.js"></script>
  </head>
  <body>
    <button>Click for awesomeness!</button>
  </body>
</html>


2. 퍼미션 설정


외부 스크립트를 꼭 접근해야 한다면, 다음과 같이 크롬 확장프로그램 메니페스트 파일에 설정을 추가한다.


example.com 주소에 접근하려는 스크립트 파일이 저장된 곳이다.


접근하려는 스크립트마다 URL을 일일이 입력해야된다는 번거러움이 있다.


"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"



다음과 같이 설정할 경우, 모든 사이트의 스크립트 접근을 허용하지만, 보안은 보장할 수 없다.


"content_security_policy": "script-src 'self' https://; object-src 'self'"





출처 : developer.chrome.com


+ Recent posts