forked from nwjs/nw.js
-
Notifications
You must be signed in to change notification settings - Fork 2
Security
Ukjin Yang edited this page Apr 17, 2015
·
14 revisions
nw.js 는 node.js 지원 및 신뢰된 DOM 및 콘텐트 지원을 향상시킨 프로젝트입니다. 만약 신뢰할 수 없는 코드나 내용이 있을 경우 반드시 frame 이나 iframe 내에 첨부하십시오! 이렇게 해서 브라우저와 동일한 역할을 하거나 node-frame 및 normal frame 이렇게 분리할 수 있습니다.
앱 개발자는 반드시 격리된 프레임 네에 콘텐트가 들어가는 지 확인, 또 확인하시기 바랍니다.
node 프레임과 일반 프레임을 구분하는 방법?
-
iframe태그에nwdisable속성을 추가하여 일반 프레임 페이지를 구분합니다 (참고:nwfaketop속성도 같이 첨가하면 도욱 좋습니다. 이유 링크는 https://github.com/rogerwang/node-webkit/issues/534) (주: readonly 같은 부울 속성입니다.) - 로컬 파일, app protocol 주소가 들어간 콘텐트(또는 매니페스트 형식의
node-remote필드에 URL이 추가된 경우)의 경우 기본 node 프레임으로 동작합니다. (nodejs필드 속성이false가 되어서는 안 됩니다.) - 보통 팝업을 여는
window.open메소드는 일반 프레임으로 돌아갑니다. (매니페스트 형식의new-instance필드는true,nodejs필드는false인 새 창과 같은 효과입니다.)
node 프레임에서 할 수 있는 것들?
- 당연히 node.js API가 지원됩니다.
require,global,process,Buffer, 그리고root객체가 지원됩니다. - 어느 프레임이던 상관 없이 접근이 가능합니다. 어느 도메인 상관없이 DOM에 접근하여 제어가 가능합니다.
- 자식 프레임에
X-Frame-Options헤더가 무시됩니다. - 나머지는 DOM과 달라진 점에 소개되어 있습니다.
nwdisable 속성은 0.5.0 rc2 부터 추가되었으며, nwfaketop 속성은 0.5.1 에 추가되었습니다.