본문 바로가기
프로그래밍/함께해요 electron

[electron] 2. Using preload Scripts

by Couldi 2023. 9. 19.
반응형

23. 9. 19.

- Could -

이 글은 어쩌다가 electron을 하게 된 학습 기록입니다. 철저하게 개인의 이해 목적으로 쓰여져 있으며 상당한 오류를 포함하고 있을 가능성이 있음을 사전에 알립니다.

 

Preload Script 란?

  • main프로세스와 renderer 프로세스를 연결하는 특별한 스크립트

Augmenting the renderer with a preload script

    • preload script로 렌더러 프로세스를 보강한다.
    • BrowserWindow의 preload script는 HTML DOM, 제한된 Node.js 와 Electron APIs에 접근할 수 있다.
나중에 더 공부해서 채워야 할 듯
  • preload script는 렌더러에서 웹 페이지가 로드 되기전에 삽입됨. 크롬 확장 프로그램의 콘텐츠 스크립트와 유사.

 

__dirname 문자열은 현재 실행중인 스크립트의 경로를 나타낸다 (main.js가 실행되는 위치)
path.join API는 여러 경로의 세그먼트를 함께 조인하여, 결합된 경로 문자열을 만든다.

 

프로세스간 커뮤니케이션

    • 메인프로세스와 렌더러프로세스는 서로 다른 책임을 가지며 상호 교환 할 수 없다.
    • 즉, 렌더러 프로세스에서 직접 node.js api에 액세스하거나 메인프로세스에서 HTML 문서 객체 모델(DOM)에 액세스 하는 것은 불가능하다.
    • 이 문제를 해결하기위해서 ipcMainipcRenderer 모듈을 사용하게 된다.
    • [[inter-process communication]]

IPC SECURITY

    • preload를 통해 전체 ipcRenderer 모듈을 직접 노출하면 안된다.
    • 직접 노출하게 되는 경우, 렌더러가 임의의 IPC 메세지를 메인 프로세스에 전송할 수 있게되어 악성 코드의 강력한 공격대상이 될 수 있다.
반응형

'프로그래밍 > 함께해요 electron' 카테고리의 다른 글

[electron] 1. Building your first App  (0) 2023.09.19

댓글