java - 如何在 Windows Server 2008 上禁用 Java 中的所有网络连接

标签 java windows network-programming windows-server-2008

有没有办法在 Windows Server 2008 上运行 Java VM (java.exe) 并使用命令行参数或系统变量禁用所有网络连接?

最佳答案

您可以通过启用默认的 Java 安全管理器来做到这一点。默认情况下不强制执行任何安全措施,因此您可以做任何事情,但如果启用了安全管理器,它将限制网络访问、文件访问和许多其他事情,除非您在安全策略文件中另行指定。

要启用默认安全管理器,请在启动时将此参数传递给 JVM。

java -Djava.security.manager=default my.main.Class

通过这样做,任何来自 JVM 内部的网络访问尝试都会抛出 java.net.NetPermission

这也会破坏文件访问之类的东西,所以如果你需要允许它,你需要在一个特殊的安全策略文件中指定那些(-Djava.security.policy=path/to/policy.file)。应该有很多关于如何设置它的示例,只需搜索“java 权限”即可开始。

关于java - 如何在 Windows Server 2008 上禁用 Java 中的所有网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4645588/

相关文章:

windows - 通过 IIS 使用 GIT 智能 HTTP

network-programming - wireshark 如何将一些数据包标记为 "tcp segment of a reassembled pdu"

java - 谷歌吉斯。使用 Java EE5 时注入(inject) EJB

java - 创建一个临时文件,然后使用 FTP (Java webapp) 上传

java - 检查流的任何元素是否不存在

java - 为什么 JLabel 不能是内部类声明

c# - 签署 Windows 应用程序

c++ - 使用 TCP 套接字(WIN32 API)创建的两个窗口之间的通信

windows - 在 Windows 命令行上检查主机可达性

java - 某些设备上的字符 0 错误输入结束