【发布时间】: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