【问题标题】:Log shows two different IP addresses for user日志显示用户的两个不同 IP 地址
【发布时间】:2016-11-19 00:00:13
【问题描述】:

这个问题可能更适合不同的 Stack Exchange 板,如果是这种情况,我愿意将它迁移到那里。

在我处理过的 Web 应用程序中,我们记录了一些事件信息,以帮助解决可能出现的问题。我们记录的其中一件事是用户的 IP 地址。在调查问题时,我注意到关联用户似乎有两个不同的 IP 地址用于某些事件。使用 IP 地址查找,物理位置相对较近——用户可能正在使用远程连接到办公室或其他地方。我不知道这些信息是否有用。

应用程序通过 AJAX 请求记录来自 PHP 和 Javascript 的事件。起初我认为不同的 IP 地址是由 PHP 或 AJAX 发起的事件造成的。但是,有两个使用两个 IP 地址记录的相同 AJAX 启动事件的实例。该事件的两个实例相隔大约 30 分钟。生成的日志看起来有点像这样:

|        Date        |      Action          |    IP Address   |
|-------------------------------------------------------------|
|2016-07-15 12:59:59 | AJAX Initiated Event | 123.123.123.123 |
|-------------------------------------------------------------|
|2016-07-15 13:30:00 | AJAX Initiated Event | 111.111.111.111 |
|-------------------------------------------------------------|         
|2016-07-15 13:45:00 | PHP Initiated Event  | 123.123.123.123 |
|-------------------------------------------------------------|
|2016-07-15 13:45:01 | AJAX Initiated Event | 111.111.111.111 |
|-------------------------------------------------------------|
|2016-07-15 13:45:09 | PHP Initiated Event  | 123.123.123.123 |

我正在使用 PHP 的 $_SERVER['REMOTE_ADDR'] 获取用户的 IP 地址。

对于为什么会记录两个不同的 IP 地址有什么想法吗?可能是由于远程连接之类的原因吗?

【问题讨论】:

  • 在不知道 IP 或您如何找到它们的情况下,有两种选择:一个是内部网络 IP,另一个是外部 IP;您使用的负载均衡器可能无法通过正确的 IP(或 cloudflare + loadbalancer 返回 2 个 IP),或者用户正在使用代理。
  • @aynber 我更新了我获取 IP 的方式

标签: javascript php ajax ip ip-address


【解决方案1】:

您可能从 HTTP 请求中获取 IP 地址。 IP的这种变化可能来自不止一个原因,我将仅列举几个:

  1. 用户有一个用于互联网连接的代理,并且该代理可以使用多个 IP

  2. 用户使用 VPN 切换到不同的网络

  3. 用户远程连接(例如远程桌面连接)到另一台计算机

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 2012-10-25
    • 2015-05-30
    • 2013-06-10
    • 2010-12-22
    • 2020-12-05
    • 1970-01-01
    相关资源
    最近更新 更多