CloudFlare 和 PHP 中记录访问者 IP 地址的日志

113
我正在尝试使用PHP的$_SERVER['REMOTE_ADDR']跟踪和记录访问我的网站的用户/访客。这是在PHP中跟踪IP地址的典型方法。
然而,我正在使用CloudFlare进行缓存等操作,并收到他们的IP地址作为CloudFlare的地址:

108.162.212.* - 108.162.239.*

在仍然使用CloudFlare的情况下,检索实际用户/访客的IP地址的正确方法是什么?
13个回答

0

0

-1
function getClientIP() {
  $ipaddress = 'UNKNOWN';
  $SRC = array('HTTP_CF_CONNECTING_IP','HTTP_CLIENT_IP','HTTP_X_FORWARDED_FOR','HTTP_X_FORWARDED','HTTP_FORWARDED_FOR','HTTP_FORWARDED','REMOTE_ADDR');
  foreach($SRC as $src) {
    if (isset($_SERVER[$src])) {
        $ipaddress = $_SERVER[$src];
        continue;
    }
  }
  return $ipaddress;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接