我正在开发一个应用程序,在这个应用程序中,人们可能会试图在代理服务器后面隐藏其客户端IP地址。
是否有一种统一的方法来获取代理背后的实际客户端IP地址?查看Ruby docs,它显式地声明
request.remote_ip和
request.remote_addr两者都会返回代理地址,而不是实际的客户端IP,并且我被其余HTTP头中的“可能包含”描述抛出。
发布于 2009-08-21 06:02:26
这取决于代理是否支持X-Forwarded-For。我会运行一些测试,以确保remote_ip不是您想要的东西--基于它试图读取HTTP_X_FORWARDED_FOR头的代码的快速浏览。
发布于 2009-08-21 08:54:08
我是在代理服务器后面的机器上输入的。我不是“隐藏”,而是我的组织(和大多数其他大到可以拥有服务器的组织)是如何工作的。我没有固定的IP地址:它是动态分配的。所以我看不出知道我的“当前”IP地址会有什么帮助,因为明天就不一样了。见鬼,我明天可能会通过不同的代理连接(我在一个大型组织工作)!
在家里,我有几台机器通过路由器连接在一起。同样,我没有固定的IP地址:它是由我的ISP动态分配的。这是一个大的ISP,所以可能在上游的某个地方有代理服务器。
所以我认为你想要的在技术上是不可能的。不管怎样,什么样的应用程序会让“人们试图隐藏他们的客户端IP地址”呢?你想解决什么问题?
https://stackoverflow.com/questions/1310249
复制相似问题