我想配置我的网络中的一台机器接受来自特定机器的所有呼叫而不进行身份验证。为此,我计划使用客户端计算机的IP地址作为允许未经检查的身份验证所需的可信因素。是否有可能在java servlet中准确确定客户端的IP地址
我的问题是,是否有可能准确确定客户端在java servlet中的IP地址?是否有可能通过一些黑客机制来改变我在servlet中获得的IP,以使我的服务器相信它是可信的IP?
例如,如果我的服务器计算机配置为信任192.168.0.1,那么是否有可能被除192.168.0.1以外的其他客户端伪装为192.168.0.1并欺骗我的身份验证机制?
和+1表示提及XFF标题,可能性为空 – stevevls 2012-02-17 10:50:22
客户端身份验证如何工作?客户端可以发送类似于https服务器发送的证书来证明自己的身份,请您提供一些相关细节。 – Ashish 2012-02-20 08:47:24
您可以生成自签名客户端证书并将其安装在客户端计算机的密钥库中(您是否也在客户端使用Java?)。然后,您的服务器应该只接受来自给定CA的客户端证书(本例中为您自己)签署的请求。网上有大量有关Java +客户端证书的文档。另外,请参阅TLS上的基本知识[维基百科条目](http://en.wikipedia.org/wiki/Transport_Layer_Security)。 – Viccari 2012-02-20 11:24:27