Security - composite/nw.js GitHub Wiki
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 μ μΆκ°λμμ΅λλ€.