CloudFlare并通过PHP记录访问者IP地址
我正在尝试跟踪和记录使用PHP $_SERVER['REMOTE_ADDR']
来访问我的网站的用户/访问者。PHP中IP地址跟踪的一种典型方法。
但是,我正在使用CloudFlare进行缓存等,并以CloudFlare的方式接收其IP地址:
108.162.212。-108.162.239。
在仍然使用CloudFlare的同时检索实际用户/访问者IP地址的正确方法是什么?
回答:
云耀斑可用的其他服务器变量是:
$_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"];
}
如果这样做,并且访问IP地址的有效性很重要,则可能需要验证$_SERVER["REMOTE_ADDR"]
包含一个实际有效的cloudflare
IP地址,因为任何人都可以伪造标头,只要他能够直接连接到服务器IP。
以上是 CloudFlare并通过PHP记录访问者IP地址 的全部内容, 来源链接: utcz.com/qa/407440.html