限制对localhost的java-websocket访问

2 java localhost restrict java-websocket

我正在编写一个java-websocket服务器作为加密货币客户端.

出于安全原因,我想限制对本地计算机的访问.

有没有办法通过IP或主机名限制对java-websocket服务器的访问?

如果是这样,怎么样?

Max*_*Max 5

您应该将您的侦听IP指定为127.0.0.1,因此无法从外部进行连接.

编辑

查看ChatServer.java示例,绑定发生在

ChatServer s = new ChatServer( port );
Run Code Online (Sandbox Code Playgroud)

该类实现了两个构造函数:

  public ChatServer( int port ) throws UnknownHostException {
            super( new InetSocketAddress( port ) );
    }

    public ChatServer( InetSocketAddress address ) {
            super( address );
    }
Run Code Online (Sandbox Code Playgroud)

所以你也可以使用inetSocketAddress调用服务器.创建一个绑定到localhost的:

new ServerSocket(9090, 0, InetAddress.getByName(null));
Run Code Online (Sandbox Code Playgroud)

然后使用它而不仅仅是端口调用服务器.

所以更换

ChatServer s = new ChatServer( port );
Run Code Online (Sandbox Code Playgroud)

InetSocketAddress myLocalSocket = new ServerSocket(9090, 0, InetAddress.getByName(null));
ChatServer s = new ChatServer( myLocalSocket );
Run Code Online (Sandbox Code Playgroud)

在你的例子中它应该工作.