→ mmis1000: 別自幹sandbox,你的方法有洞,會被拿到require惡搞 05/20 19:03
→ mmis1000: (0).constructor.constructor('return this')() 05/20 19:50
→ mmis1000: 這一行能拿到真正的global,而且一個關鍵字都沒 05/20 19:51
→ LaPass: =口=||| 05/20 20:01
→ danny8376: JS很複雜的wwww 05/20 22:13
→ LaPass: 那要在JS底下運行腳本,是不是都沒辦法了啊..... (或是用 05/20 22:57
→ LaPass: JS自幹一個編譯器出來,但效能應該會很悲劇) 05/20 22:57
→ mmis1000: nodejs有一些現成的sandbox模組 05/20 23:35
→ mmis1000: 不過仍然不能保證100%安全,畢竟nodejs本身的andbox就是 05/20 23:41
→ mmis1000: 有洞的,而這些也只是試圖把動堵起來 05/20 23:41
→ LaPass: 可是瀏覽器上沒辦法跑node.js 05/20 23:42
→ mmis1000: error.capturestacktrace 主要是這東西的問題 05/20 23:42
→ mmis1000: 那用一個不同domain的iframe去跑 05/20 23:43
→ LaPass: server端可能還比較好解決,因為可以用其他語言去搞個js編 05/20 23:43
→ LaPass: 譯器去跑,網頁就沒辦法... 而且我需要他跑出來的結果。 05/20 23:45
→ LaPass: iframe也不是那麼好解決 05/20 23:45
→ mmis1000: 或是用web worker之類 05/20 23:45
→ mmis1000: 反正一定要在完全不同scope下,不然等著被玩 05/20 23:47
→ mmis1000: 可以一個幫助的script,把危險code eval在worker裡 05/20 23:50
→ LaPass: orz..... 這個我知道..... 05/20 23:50
→ mmis1000: 讓他甚麼都看不到 05/20 23:50
→ LaPass: 來試試看worker好了 05/20 23:51
→ mmis1000: 來個實驗... 05/21 02:35
→ LaPass: 好東西!!OAO!! 05/21 10:49
→ LaPass: 來試試看,這樣OK XD 05/22 01:29