我正在将java-websocket服务器编写为加密货币客户端。
出于安全原因,我想限制对本地计算机的访问。
有没有一种方法可以通过IP或主机名限制对java-websocket服务器的访问?
如果是这样,怎么办?
最佳答案
您应该将监听IP指定为127.0.0.1,这样就无法从外部进行连接。
编辑
在示例ChatServer.java中,绑定发生在
ChatServer s = new ChatServer( port );
该类实现两个构造函数:
public ChatServer( int port ) throws UnknownHostException {
super( new InetSocketAddress( port ) );
}
public ChatServer( InetSocketAddress address ) {
super( address );
}
因此,您也可以使用inetSocketAddress调用服务器。创建一个多数民众赞成绑定到本地主机:
new ServerSocket(9090, 0, InetAddress.getByName(null));
然后使用该端口而不是端口调用服务器。
所以更换
ChatServer s = new ChatServer( port );
与
InetSocketAddress myLocalSocket = new ServerSocket(9090, 0, InetAddress.getByName(null));
ChatServer s = new ChatServer( myLocalSocket );
在您的示例中,它应该可以工作。