2012-03-19 26 views
6

我是V8的新手,並計劃在Python Web應用程序中使用它。目的是讓用戶提交和執行某些JS腳本。顯然這是一個安全威脅,所以我正在尋找資源來記錄可能會「鎖定」v8的方式。例如,我可以創建一個允許被調用的函數的白名單嗎?或者不允許引用圖書館黑名單?如何「鎖定」V8?

+0

順便說一句,爲什麼不讓他們提交Python腳本?這可以簡化你的架構,我想。 :-)(不得不提及它)。是的,可以爲這些腳本創建一個安全的Python沙盒 – Kos 2012-03-19 11:15:14

+0

@Kos怎麼樣?我有興趣爲好,但我繼續閱讀無處不在Python是近unsandboxable,對如何打破 – slezica 2012-05-17 02:29:21

回答

0

只會鎖定下來V8實例(即:給它沒有權限在chroot)和殺害如果沒有一定的時間不工作後返回的過程?

1

如果使用普通的V8(即不是像node.js的)不會有任何危險的功能。 JavaScript的本身沒有包含文件系統的功能等

惡意用戶可以做的是創造無限循環,深遞歸和內存生豬唯一一個STDLIB。

+0

對不起,我遲到評論一千例子,但我感興趣的是這一點。如何防止用戶超出內存/處理配額? – slezica 2012-05-01 10:24:52

+0

不知道。請[發表一個新的問題](http://stackoverflow.com/questions/ask)。 – ThiefMaster 2012-05-01 11:24:20

+0

我剛剛發佈關於該新的問題:http://stackoverflow.com/questions/11637075/how-do-i-prevent-malicious-javascript-in-v8-with-python – Gattster 2012-07-24 18:30:02