我使用Ruby on Rails作为服务器端框架,但我确信该解决方案是跨平台的。如何向用户显示其真实IP地址(代理后)
我想向用户显示他的真实IP地址。该应用程序部署在企业网络中。大多数用户以直接方式连接到应用程序,无需代理,NAT等,但其中一些用户使用代理。
现在他们看到代理服务器的IP地址。
向他们展示他们的真实IP地址的最佳方式是什么?
正如我所见,仅使用服务端技术是不可能的。所以解决方案应该是使用JS(几乎所有用户启用JS),Flash(约80%用户使用它)或JAVA(约50%)的东西。如果解决方案是rails插件,那将非常棒,但它并不那么重要。
UPD。不幸的是,X-Forwarded-For头没有有趣的信息。
UPD2。我想显示本地网络IP(例如192.168 ..)。
UPD3。几乎所有的客户端浏览器都是Internet Explorer(7,8,6版本)
这取决于代理转发哪些信息。有些人可能会使用“X-Forwarded-For”,但如果没有(或者如果没有类似的话),那么你可能会运气不好。 –
不幸的是,X-Forwarded-For头没有有趣的信息。 – petRUShka
根据用户的连接情况,这是不可能的。例如,如果用户的路由器正在使用VPN。路由器本身会使用VPN来隧道连接,并且用户拥有的唯一IP就是他的本地网络与路由器的IP。 – felipemaia