如何对一个类进行沙盒化?

3

假设我有一个网站,人们可以在其中以类的形式上传他们的代码。我该如何限制实际可以在该类中执行的操作?


1
很抱歉,答案是:你需要自己编写解析器 :-( - TFennis
顺便问一下,这跟 PHP 有什么关系吗?我猜你打算在服务器上运行这些类,对吗? - Andrew Thompson
@AndrewThompson 我也对PHP感兴趣。看到这个网站后,我产生了以下问题:http://ideone.com/ - James P.
1
你可能想要查看Robocode的源代码,它使人们能够在沙盒中创建相互对战的Java程序。他们的安全模型听起来与你所寻找的相似。 - Henrik Aasted Sørensen
1个回答

3

为客户端代码实现一个SecurityManager1。我还建议测试代码运行的时间,并在超过限制时结束它(这更针对捕获程序员无能导致的无限循环,而不是故意恶意操作)。

  1. 例如,在此答案中看到的内容,其目的是实现防止API中的System.exit()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接