electron中啟用node整合是否會導致安全問題?

時間 2021-06-07 02:20:09

1樓:liulun

要看情況!

如果你的渲染程序載入的全部是你自己寫的東西,而你寫的這些東西本身又沒有安全問題的話,那麼你就可以放心的開啟node整合,不要有安全上的顧慮!

如果你寫的東西載入了第三方的內容,你又不信任這個第三方的內容,你也沒辦法騙過第三方讓第三方相信你是乙個普通的瀏覽器的話,那麼你就不應該開啟node整合。

解釋一下為什麼:

一旦你開啟了node整合,意味著渲染程序的內容也有訪問node的能力,此時如果第三方內容裡有一段磁碟格式化的指令碼,那麼你的使用者將面臨受傷害的危險。

如何降低風險?

你可以讓Electron請求第三方內容時使用正常瀏覽器的UA,Refer也做相應的調整等一系列的措施,讓第三方內容把你當做乙個正常的瀏覽器請求,這樣他就不會吃飽了撐的給你的響應裡塞格盤的指令碼了。

你可以在載入第三方內容前把node的幾個大的api和全域性變數,比如require,封裝到乙個區域性作用域內,然後再把全域性作用域的變數置空,不要讓第三方內容訪問到node的任何東西。

另外:你真的需要在載入第三方內容時開啟node整合嗎?Electron提供的預載入指令碼機制,也有訪問node的能力,是不是更好的選擇呢?

手機上打這麼多字真累!

2樓:爬大樹

electron2.08版本的那時候還是預設就整合的,不用擔心安全問題

庫基本都開源的,你自己不寫病毒就行,用的人才應該擔心安全問題

Node中libuv的I O執行緒池與PHP之類建立的執行緒有啥區別?

碼農投資筆記 IO分為磁碟IO與網路IO,磁碟IO確實得由libuv執行緒池中的執行緒去阻塞執行,但是網路IO就不用了,網路IO這一塊linux底層是epoll,windows是IOCP,都是採用IO多路復用技術,即事件監聽。libuv中的執行緒只需要把網路IO的socket註冊到epoll IOC...

TCP連線中啟用和禁用TCP NODELAY有什麼影響?

feve 簡單說平時我們socket.send b a 這個a就是payload有效負載他佔1位元組。但網路傳輸比如你tcp他肯定加上至少20位元組的ip頭和至少20位元組的tcp頭。你只發個a實際發了41位元組。這樣太浪費頻寬了。所以他預設開個n演算法,讓你send a 先把a寫入傳送快取 記憶體...

深度學習中如何選好啟用函式和損失函式?

雲程萬里 如果資料中的雜訊較強,可以考慮軟閾值函式 軟閾值函式的梯度要麼是零,要麼是一,跟ReLU啟用函式相似 問題在於,閾值 該怎麼取值呢?閾值 必須為正數,而且不能太大。太大的話,輸出就全部為零了。其實可以借助類似Squeeze and Excitation Network的結構,自動設定,就是...