【问题标题】:How do I get the external IP address of a client if the server and the client are on the same domain?如果服务器和客户端在同一个域中,如何获取客户端的外部 IP 地址?
【发布时间】:2017-12-24 20:17:22
【问题描述】:

总而言之,我们使用第 3 方从 PAF 数据库中检索地址(非英国地址类似)。他们需要客户端 IP 地址来推断默认搜索的地址类型(即:英国/爱尔兰/加拿大/Amoeboid-Zingat'ularian)。 出于安全原因,我们通过编写为 MVC 控制器 [HttpPost] 操作的中继传递此流量,并在服务器上注入身份验证。

对于将我们的软件托管在 Azure 上的客户来说,这很容易,因为 MVC 控制器操作和第 3 方 javascript 之间的流量将通过面向 Internet 的防火墙,并且使用 Request.ServerVariables["REMOTE_USER "] 就足够了。 但是,如果他们在本地安装了我们的软件怎么办?那么,这个方法给我的 IP 是不是对本地网络只意味着什么?

如果我能检测到差异,我可以决定是否发送 IP:因此让第 3 方来决定。

【问题讨论】:

  • 不确定我是否称其为骗子,但see here。您需要获取客户端的外部 IP 地址。
  • 如果您获得的是内部 IP 地址,那么除了手动调用外部服务来查找您所在的位置或分配默认值之外,没有其他方法可以获取位置。

标签: c# asp.net-mvc-4


【解决方案1】:

如果是他们在他们的服务器上安装您的软件,那么记录安装时或应用程序启动时的位置会不会更容易。

然后无需阅读每个电话。 http://bot.whatismyipaddress.com/ 调用一次并存储在应用内存中就足够了。

我还假设此已安装软件的客户端将位于同一位置。几乎可以肯定他们是否有本地 IP 地址。

【讨论】:

  • 问题在于,有些客户从我们的云解决方案中获取我们的服务,而有些客户仍然将其视为本地安装。我需要为所有人编写一个解决方案!我想我想做的是检测 IP 是否是内部的,如果是,则不必费心返回 IP,让第 3 方从他们的入站流量中解决它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-14
  • 2012-02-16
  • 2011-10-25
  • 2011-02-20
  • 2013-07-10
  • 2021-05-14
相关资源
最近更新 更多