0

일부 이벤트에 따라 로컬 저장소에서 파일을 읽고 업로드하는 크롬 확장 프로그램을 작성하고 싶습니다. 나는 이것이 웹과 브라우저의 보안 모델 때문에 직접적으로 가능하지 않다는 것을 이해한다.특정 크롬 확장 프로그램과 만 상호 작용하는 보안 NPAPI 플러그인을 작성하는 방법은 무엇입니까?

온라인으로 조사한 결과 NPAPI 플러그인을 통해이 사실을 확인할 수있었습니다. 내가 이해할 수있는대로 NPRuntime API를 통해 NPAPI 플러그인과 상호 작용하고 업로드 할 파일을 요청하는 Chrome 확장 프로그램을 작성할 수 있습니다. 플러그인은 파일을 검색하고 파일 데이터로 응답합니다.

질문 1 : 아키텍처가 내 작업을 수행하는 데 합리적인/능률적 인 방법보다 위에 떠오 릅니까?

그렇다면 내 관심은이 방법의 보안에 있습니다.

질문 2 : 내 플러그인이 로컬 저장소에서 물건을 읽고 쓰는 것이므로 다른 악의적 인 사이트/확장 프로그램에서 오용하지 않도록 어떻게 안전하게 코드를 작성합니까? 내 플러그인은 다른 사이트/확장 프로그램이 아닌 내 확장 프로그램에서만 작동해야합니다. 나는 이것을 어떻게 얻을 수 있을까? 즉, 크롬 확장과 NAAPI 플러그인 간의 상호 작용을 보장하여 악의적 인 공격의 여지가 없도록하기 위해 어떤 조치를 취해야합니까?

답변

2

여러 FireBreath 사용자는 크롬에 사용 FireBreath으로 플러그인을 생성하고 크롬 확장 프로그램 (CRX) 내부를 포장했다. 확장 프로그램 내에서 플러그인을 '비공개'로 설정하면 Chrome 확장 프로그램에서만 플러그인을 사용할 수 있습니다. 다른 브라우저에서는이 방법을 지원하지 않습니다.

당신은 물론 다른 NPAPI 플러그인과 같은 일을 할 수 있지만, 모든 것을 직접 구현하지 않을 때 FireBreath는 시간의 톤을 저장합니다.

+2

Taxiian에 추가하기 만하면 Chrome의 'manifest.json'에서 plugins key에'public '키가 설정되어 있지 않은지 확인하십시오. 기본값은 false입니다. –