有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何限制JVM/OSGi中的程序资源+权限?

我想创建一个网站,人们可以在其中解决编程任务,并最终上传他们的解决方案(在任何JVM语言中),以便验证它并与他人共享

我觉得OSGi(现在就学习)可能是处理这项任务的好工具(是吗?)。但显然,我有点担心让其他人在我的主机上执行他们的代码(顺便说一句,基于输入/输出的解决方案是别无选择的)

所以我想我需要弄清楚

a)如何允许/限制某些Java功能(例如启动线程、发送邮件、编写文件等)

b)如何限制程序/捆绑包的CPU/RAM资源,这样就不会有人用无休止的循环来破坏主机

有什么建议吗


共 (1) 个答案

  1. # 1 楼答案

    b)我认为最安全的解决方案是为每个用户提交的解决方案创建专用JVM。这样,您就可以手头上拥有所有操作系统工具

    a)可以使用Permissions限制Java功能。我从来没有尝试过用它做一些复杂的事情,但为第三方输入制定一个可靠的策略肯定不是小事。也许谷歌的Appengine SDK会有所帮助。我怀疑它是在使用权限在本地模仿Appengine的行为