日期:2014-05-18  浏览次数:20794 次

request.getRemoteAddr()是通过什么原理得到客户端IP的啊?
它是以什么为依据得到客户端的真实IP的啊?或者是它的原理是什么?

除了用代理外有什么可以欺骗的方法吗?

------解决方案--------------------
http请求头里包含的,原理就是http协议
------解决方案--------------------
探讨
http请求头里包含的,原理就是http协议

------解决方案--------------------
看 Jdk 的Src 文件
------解决方案--------------------
你可以找找这个方法的源代码,看看就清楚了
------解决方案--------------------
学习一下,感觉除了代理的确没什么好办法了。 
这个应该跟TCP/IP协议有关,既然要遵循该协议,获取IP也是根据这个来的。那又怎么可能欺骗呢 ?
------解决方案--------------------
最近开发用到这了 关注
------解决方案--------------------
在request.getRemoteAddr()方法中,客户端 与服务器之间是使用TCP/IP协议的,

也就是说Web服务器实际上是通过 类似 

ServerSocket ss = new ServerSocket(...);
...
Socket s = ss.accept();

来建立与客户端的连接的,在Socket方法中就可以getInetAddress得到客户端的地址了,这个地址是根据TCP/IP协议的规范,由客户端发送的数据包中包含的



如果不包含客户端的地址,那么服务器是无法将数据返回给客户端的
------解决方案--------------------
探讨
在request.getRemoteAddr()方法中,客户端 与服务器之间是使用TCP/IP协议的,

也就是说Web服务器实际上是通过 类似

ServerSocket ss = new ServerSocket(...);
...
Socket s = ss.accept();

来建立与客户端的连接的,在Socket方法中就可以getInetAddress得到客户端的地址了,这个地址是根据TCP/IP协议的规范,由客户端发送的数据包中包含的


如果不包含客户端的地址,那么服务器是无法将数据返回给客户端的

------解决方案--------------------
点进去看看不就清楚了