크롬 확장프로그램은 기본적(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
'컴퓨터공학 > Google API' 카테고리의 다른 글
Chrome Extension path (0) | 2015.12.21 |
---|---|
URL을 지정해 새 탭 띄우기 (0) | 2013.06.06 |
크롬 확장프로그램에서 구글 드라이브 연동 예제 (0) | 2013.05.20 |