我一直在尝试构建一个在线Java编译器。但是在服务器上运行客户端代码会引起许多安全问题。其中我可以想到的有:无限循环、API受限制、内存使用限制等。我已经查看了这里和这里。但我还有几个问题。1)通过策略工具可以实现对API的限制,但如何检查内存和CPU使用情况(无限循环等)?2)策略工具提供了授予权限和不限制的选项。因此,如果我选择"Runtime权限"并将getStacktrace作为目标,则所有其他权限都将受到限制吗?
您可以使用Ideone API。 免费帐户有一定的限制,但它可以减轻您处理安全和其他问题的负担。 它作为Web服务可用,其WSDL可以在此处找到:ideone.com/api/1/service.wsdl