Java 有可能在应用程序周围设置防火墙吗?

Java 有可能在应用程序周围设置防火墙吗?,java,networking,firewall,Java,Networking,Firewall,我想主持一个名为Minecraft的游戏,让人们上传自己的Java JAR。 现在我想将它们限制在某个端口范围内。 由于在虚拟机中运行所有JVM都是多余的,我们只是将它们堆叠起来,但是如何防止用户使用默认端口呢? 可能是启动行中有javaagent 编辑: 这是一个好的示例代码吗? System.setSecurityManager(…); //使用URLClassLoader调用jar您应该能够修改JVM的安全策略以限制网络访问。这里有一些信息:我想你实际上是在寻找一个沙箱,而不是防火墙。ja

我想主持一个名为Minecraft的游戏,让人们上传自己的Java JAR。
现在我想将它们限制在某个端口范围内。
由于在虚拟机中运行所有JVM都是多余的,我们只是将它们堆叠起来,但是如何防止用户使用默认端口呢?
可能是启动行中有javaagent

编辑:
这是一个好的示例代码吗?
System.setSecurityManager(…);

//使用URLClassLoader调用jar

您应该能够修改JVM的安全策略以限制网络访问。这里有一些信息:

我想你实际上是在寻找一个沙箱,而不是防火墙。java允许您通过策略执行类似的操作。

还有其他安全问题,如文件系统访问?看起来你需要一个虚拟机,就像浏览器中的小程序一样()。

我不认为投票结果离题-对我来说这是一个有效的问题,
SecurityManager
是可能的答案之一…@投票者:这不是离题。以编程方式限制应用程序的端口传输是一个完全基于主题的问题。JVM意味着Java虚拟机,现在只需要使其不访问主机系统:)但我已经有了一个不接触其他文件的应用程序(尚未测试),我可以很好地处理所有问题:)如何实现这一点?我必须运行一个JVM来执行具有这些权限的JAR吗?一些示例代码将是伟大的@BronzeByte:阅读整个页面(或者至少是页面的开头)@BronzeByte-您可以将上传的jar文件放在一个特定的文件夹中,并将该位置的权限设置为“代码库”。该策略文件已经存在于JVM配置的某个地方-您只需编辑它。我链接的页面顶部有配置和信息示例。@BronzeByte-no:)您不需要代码。已经有一个包含作为JRE配置一部分的策略的xml文件,您只需编辑它。@sje397我似乎在任何文档中都找不到文件路径:P System.setSecurityManager(...); // invoke the jar with a URLClassLoader