0

我正在尝试创建一个网站,人们可以在那里运行上传的代码。SPOJ / ACM 之类的东西。如何确保代码不会损坏我的系统(限制对套接字、系统调用的访问)

我在网上浏览了许多解决方案,有些建议使用 chroot,但我不明白。这也需要配置,这可以通过配置等来完成吗?

注意我不是要求任何特定的语言,在可执行文件中运行。

我的开发设置是用于托管的 MAC 和 Linux,如果解决方案可以在两者上运行,那就太好了。不是要求。

4

3 回答 3

1

我建议使用具有最低系统的虚拟机,只允许运行 ruby​​ 而没有其他任何东西。我会使用一个 linux 系统,您可以在其中更大程度地锁定程序的执行,并具有扩展权限。

最后在每个程序运行之后,然后将虚拟机重置为检查点原始设置,从而消除任何可能发生的事故。

于 2012-06-05T11:25:17.687 回答
0

看看RubyCop

RubyCop 扫描 Ruby 代码并告诉您它是否安全。我们在 CodeSchool 使用它来检查用户提交的代码,然后再在服务器上对其进行评估。

于 2012-06-05T09:32:27.643 回答
0

请检查 Ruby 内置的污染机制

于 2012-06-05T09:41:47.997 回答