我有一个包含在 launch4j 中的 java 应用程序exe 包装器。
它在一个用户可配置的高编号端口(默认 8080)上提供 Web 内容。
它使用另一个网络连接进行数据访问。这利用了由 UDP 111 上的初始请求协商的未知端口上的 TCP。
我想知道是否需要配置此应用程序,使其要求以管理员权限运行,或者是否应以启动它的用户的权限运行。
最佳答案
在 Windows 上,一般来说,您不需要成为管理员即可打开监听套接字。
- Windows 防火墙可能会阻止传入连接
- Java 安全性本身可能会限制打开 1024 以下的端口(如 .NET Windows Communication Foundation 所做的那样)
但是您不需要成为管理员即可打开监听套接字。
而且,正如 @BevynQ 所说,您的应用程序理想情况下不会是管理员。您的 TCP 服务几乎肯定会存在缓冲区溢出和安全漏洞。您不希望网络上的任何人能够强制您提升的应用程序做坏事。
关于java - 我需要请求网络访问的管理员权限吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158356/