2011-09-21 59 views
2

所以我們都知道,eval是不好的,並且允許用戶創建自己的JavaScript來運行在您的網站上可能是非常危險的,爲各種安全風險打開大門。如何實現安全的用戶生成的客戶端腳本執行?

但是,我的挑戰是想出一個解決方案,允許用戶創建自己的定製腳本片段,並在客戶端執行。這些腳本基本上是預測算法,它允許每個用戶建立自己的定製預測策略,計算並處理通過AJAX提供給他們的一組數據。

基本上,在定期的時間間隔內,AJAX請求由系統進行,JS事件被觸發,每當新數據到達時通知客戶端。上述用戶腳本允許鉤入/訂閱此事件,對接收到的數據執行用戶算法,並輸出其算法結果。

以下問題我有...如果我允許用​​戶創建自己的JavaScript,他們可以拉各種花哨的技巧,如跨瀏覽器未經授權的AJAX請求,調用意外的輸入事件,並在普通的短...試圖用惡意的意圖破解系統。

我需要封裝這些腳本,限制它們使用瀏覽器上下文。例如,他們無法發出AJAX請求,或者調用頁面上的點擊事件。他們擁有的唯一訪問權限是通過預先確定的輸入>過程>輸出接口提供的數據。

所以我的問題是,我的網站,如何可以讓用戶,安全,有限,腳本訪問?有沒有例如用JavaScript編寫的Lua腳本解析器或類似的東西可以使用?

回答

2

會像ADsafe爲您的網站工作?

+0

這似乎是最可行的選擇!謝謝保羅! –