使用 cloudflare 后,PHP 获取用户真实请求 IP

发布时间: 2019-09-04 11:10:36 作者: 大象笔记

之前是使用 PHP 的 BUG 之王框架 ThinkPHP 的 get_client_ip 的实现,利用

$_SERVER['REMOTE_ADDR']

获取到的是 cloudflare 的节点 IP,而不是用户的真实请求 IP

162.158.118.50
日本	东京都	东京	cloudflare.com
========================
162.158.118.156
日本	东京都	东京	cloudflare.com
========================

如果要获取用户的真实 IP,就需要使用 cloudflare 提供的信息

// 用户 IP 地址
$_SERVER["HTTP_CF_CONNECTING_IP"]

// 用户的国家代码,例如 CN, EN, CA 等
$_SERVER["HTTP_CF_IPCOUNTRY"] 
我是一名山东烟台的开发者,联系作者