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

回到顶部