基本上我需要让用户提交代码以便定期运行服务器端。如何安全地允许用户提交代码以定期运行?
用户应该提交简单的脚本,我会运行他们的代码服务器端来确定谁提出了一个更好的解决方案。我创建了一个简单的提交表单,代码存储在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