有一些網站(如one)允許用戶使用不同的語言提交代碼,系統編譯並執行測試用例。作爲一名開發人員,我很想知道他們是怎麼做到的,他們如何支持多種語言(PHP,Python,C,.NET,javascript)?如何動態編譯和執行代碼?
提交的代碼不可能是惡意的,從而危害他們執行代碼的環境?
謝謝。
有一些網站(如one)允許用戶使用不同的語言提交代碼,系統編譯並執行測試用例。作爲一名開發人員,我很想知道他們是怎麼做到的,他們如何支持多種語言(PHP,Python,C,.NET,javascript)?如何動態編譯和執行代碼?
提交的代碼不可能是惡意的,從而危害他們執行代碼的環境?
謝謝。
很想知道他們是如何做到這一點的,他們如何支持多種語言(PHP,Python,C,.NET,JavaScript)?
簡單:安裝了多種語言安裝,並針對給定輸入(當然由用戶給出)調用正確的語言。
提交的代碼不可能是惡意的,從而危害他們執行代碼的環境?
是的,當然。但是,有無數的潛在對策。以多年來開發的各種形式對沙盒進行沙盒處理,在特定時間後關閉程序,防止訪問具有潛在危險的功能等。請參閱Codepad's about page瞭解真正的網站對此有何評論。
有沒有辦法在Windows環境中創建沙箱? – Nick
我可以想象VirtualBox或VM Ware之類的虛擬機解決方案,Google發現這是第一個沙盒+窗口鏈接 - http://downloadsquad.switched.com/2009/03/11/five -sandboxing-應用到保護,您的窗口電腦/ – arunkumar