javascript - 如何向用户显示他的真实 IP 地址(在代理之后)

标签 javascript ruby-on-rails flash proxy ip

我使用 Ruby on Rails 作为服务器端框架,但我确信该解决方案是跨平台的。

我想向用户显示他的真实 IP 地址。该应用程序部署在公司网络中。大多数用户以直接的方式连接到应用程序,无需代理、NAT 等。但其中一些用户使用代理。

现在他们看到代理服务器的 IP 地址。

向他们显示真实 IP 地址的最佳方式是什么?

如我所见,仅使用服务端技术是不可能的。所以解决方案应该是使用 JS(几乎所有用户都启用 JS)、Flash(大约 80% 的用户使用它)或 JAVA(大约 50%)。如果解决方案是 rails 插件就好了,但这不是那么重要。

更新。不幸的是,X-Forwarded-For header 没有有趣的信息。

UPD2. 我想显示本地网络 ip(例如 192.168..)。

UPD3.几乎所有的客户端浏览器都是Internet Explorer(7、8、6版本)

最佳答案

这是一个利益问题,但我要告诉坏消息的传递者。无论您使用何种平台或代码,您都无法获得 100% 有效的解决方案。

让我解释一下, 一些代理在 header 中转发发起者 ip(通常是 x-forwarded-for)。这不是 100%。

客户端的 Javascript 可以(未决的安全限制)为您提供客户端 ip,但是,这可以是本地网络 ip(例如 192.168.)

UPD:请参阅我下面的评论,了解适用于所有用户都在公司网络上的 javascript 解决方案说明。

关于javascript - 如何向用户显示他的真实 IP 地址(在代理之后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8204281/

相关文章:

javascript - 如何解决返回分配问题

javascript - 使用 json 的 D3 日历 View

ruby-on-rails - Rails Responder 在创建时重定向到索引导致形成奇怪的行为

ruby-on-rails - 在 activerecord 中设置默认整数值

iphone - Flex/Flash 作为 iPhone/iPad 的开发路径有多大前景?

actionscript-3 - 我可以在 AS3 中录制声道吗?

ios - 将 Flash 视频播放到 native iOS 应用程序中...iOS6 已测试

javascript - 开发 VSCode 扩展时获取当前事件文件的目录

javascript - PHP JavaScript 验证错误

ruby-on-rails - 禁用设计可确认邮件