CloudFlare并通过PHP登录访客IP地址

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (259)

我试图跟踪和登录使用PHP访问我的网站的用户/访问者$_SERVER['REMOTE_ADDR']。在PHP中用于IP地址跟踪的典型方法。

但是,我正在使用CloudFlare进行缓存等,并接收CloudFlare的IP地址:

108.162.212.* - 108.162.239.*

在仍使用CloudFlare的情况下,检索实际用户/访问者IP地址的正确方法是什么?

提问于
用户回答回答于

flare可用的额外服务器变量有:

$_SERVER["HTTP_CF_CONNECTING_IP"] 真正的访客IP地址,这是你想要的

$_SERVER["HTTP_CF_IPCOUNTRY"] 访客的国家

$_SERVER["HTTP_CF_RAY"] 看到这里的描述

$_SERVER["HTTP_CF_VISITOR"] 这可以帮助你知道它的http或https

你可以像这样使用它:

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
用户回答回答于

扫码关注云+社区

领取腾讯云代金券