PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Ajax
Re: [問題] 要怎麼取得所有的物件?
作者:
LaPass
(LaPass)
2015-05-20 18:48:38
※ 引述《mrbigmouth (大嘴先生)》之銘言:
: (function(global) {
: var i;
: for (i in global) {
: console.log(i+":");
: console.dir(global[i]);
: }
: }(this))
感謝 mrbigmouth 大大
這已經很接近我想要得結果了
我想作的是這種事情:
(function(global) {
var i;
for (i in global) {
eval("var "+i+"=null;");
}
console.log("ERR HERE");
})((new Function("return this;"))());
console.log('OK HERE');
用閉包的區域變數,蓋掉全域變數,製造一個「乾淨」的環境出來跑別人的CODE。
假設我不讓他用console,就把console = null;
這樣他就執行不到了。
只留下我想讓他跑的部份
但是,目前還有漏掉
像是 Function 、 Date 這種物件就沒蓋到
還有 node.js 的 require也還在
像這種東西我還在找方法列舉他
一旦能列舉,就能夠用
var Function = null;的方式去蓋掉了
作者:
mmis1000
(秋月戀楓)
2015-05-20 19:03:00
別自幹sandbox,你的方法有洞,會被拿到require惡搞(0).constructor.constructor('return this')()這一行能拿到真正的global,而且一個關鍵字都沒
作者:
LaPass
(LaPass)
2015-05-20 20:01:00
=口=|||
作者:
danny8376
(釣到一隻猴子@_@)
2015-05-20 22:13:00
JS很複雜的wwww
作者:
LaPass
(LaPass)
2015-05-20 22:57:00
那要在JS底下運行腳本,是不是都沒辦法了啊..... (或是用JS自幹一個編譯器出來,但效能應該會很悲劇)
作者:
mmis1000
(秋月戀楓)
2015-05-20 23:35:00
nodejs有一些現成的sandbox模組
https://github.com/bcoe/sandcastle
像這個不過仍然不能保證100%安全,畢竟nodejs本身的andbox就是有洞的,而這些也只是試圖把動堵起來
作者:
LaPass
(LaPass)
2015-05-20 23:42:00
可是瀏覽器上沒辦法跑node.js
作者:
mmis1000
(秋月戀楓)
2015-05-20 23:42:00
error.capturestacktrace 主要是這東西的問題那用一個不同domain的iframe去跑
作者:
LaPass
(LaPass)
2015-05-20 23:43:00
server端可能還比較好解決,因為可以用其他語言去搞個js編譯器去跑,網頁就沒辦法... 而且我需要他跑出來的結果。iframe也不是那麼好解決
作者:
mmis1000
(秋月戀楓)
2015-05-20 23:45:00
或是用web worker之類反正一定要在完全不同scope下,不然等著被玩可以一個幫助的script,把危險code eval在worker裡
作者:
LaPass
(LaPass)
2015-05-20 23:50:00
orz..... 這個我知道.....
作者:
mmis1000
(秋月戀楓)
2015-05-20 23:50:00
讓他甚麼都看不到
作者:
LaPass
(LaPass)
2015-05-20 23:51:00
來試試看worker好了
作者:
mmis1000
(秋月戀楓)
2015-05-21 02:35:00
http://plnkr.co/edit/FmQVr99nLCDtx5LmwUDN?p=preview
來個實驗...
https://github.com/eligrey/jsandbox
現成的東西
作者:
LaPass
(LaPass)
2015-05-21 10:49:00
好東西!!OAO!!
http://f23ko.com/JSTEST/websocket.html
我自己寫了一個來試試看,這樣OK XD
繼續閱讀
Re: [問題] 要怎麼取得所有的物件?
mrbigmouth
[問題] 要怎麼取得所有的物件?
LaPass
Fw: [問題] 如何讓我網頁的表單欄位不要「自動填入表單」?
red0whale
[問題] node.js的promise如何使用外面的變數
tnsshnews
[js/問題] 自動將貼在contenteditable div上的HTML文字轉換成純文字
banana2014
[問題] 請問如何判斷一字串中是否含有不包含<img>元素的HTML元素?
banana2014
[問題] 如何移除dom中的深層元素?
aoksc
[問題] 請問如何將contenteditable div的游標停在指定的位置
banana2014
[問題] Google map LatLng 問題
zx4109
[問題] printscreen後能夠ctrl+V貼置網頁
emily800326
Links
booklink
Contact Us: admin [ a t ] ucptt.com