执行不受信任的RDotNet代码

时间:2016-03-02 16:16:52

标签: .net r.net

我们正在开发一项功能,我们需要让用户编写一个小R脚本来计算一些数据。

脚本应该非常简单,如:

var1 + var2 - var3

var1 + sum(var2)

然而,R可以做的远不止这些,我们不希望任何人在我们的服务器上执行任务。

我们尝试使用其他AppDomain,但此link似乎表明它仍然不受支持。

所以我们需要找到一些更有创意的方式来保护"安全"服务器。

我们想到的一个选项是创建某种允许函数的字典并预先解析脚本以查找不允许的内容。

我的问题是:你会怎么做? (假设AppDomain不是一个选项)

1 个答案:

答案 0 :(得分:0)

仅仅是为了将这个问题标记为已关闭,这就是我们所做的:

我们最终使用Rserve

它托管在一台无法做任何事情的机器上,然后在机器/用户级别而不是在流程中管理安全性。