基本上我需要讓用戶提交代碼以便定期運行服務器端。如何安全地允許用戶提交代碼以定期運行?
用戶應該提交簡單的腳本,我會運行他們的代碼服務器端來確定誰提出了一個更好的解決方案。我創建了一個簡單的提交表單,代碼存儲在SQL數據庫中。
我明顯擔心安全,但我也不知道要使用哪種語言。我需要一種簡單的語法結構的腳本語言,讓我限制用戶可以做的事情數量(我只需要讓他們定義變量,創建函數,使用循環以及一些數組和代數函數)。甚至可以用簡單的語法來創建僞語言。
所以基本上:
- 我可以用什麼語言?
- 如何定期運行用戶代碼? (只知道cronjobs,但我不知道他們是否會允許很長的執行時間)
- 創建僞語言會是一個好主意嗎?如果請點我在正確的方向
我會說要麼有某種沙箱(chrooted服務器),所以沒有什麼真的走出來..或解析/解釋代碼,如果它不去複雜的東西 – xblitz 2013-02-16 00:12:49
看看這裏 http://stackoverflow.com/questions/4091887 /如何編寫簡單編程語言 – Sedz 2013-02-16 00:13:21
您應該指定情境的上下文 - 在某些情況下,最好創建受其命令限制的自己的腳本語言。在不同的情況下,我會使用一些虛擬環境。 – 2013-02-16 00:14:57