多年来,我创建了这种算法,用于检查"深度模式"中的客户端IP地址。这里还包括Cloudflare和代理等。
在该脚本中,我将所有可能的$ _SERVER变量放在可能包含客户端IP的数组中,然后在循环中检查并验证第一个准确的IP地址。
这是我的清单:
$findIP=array(
'HTTP_CF_CONNECTING_IP',
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_FORWARDED',
'HTTP_X_CLUSTER_CLIENT_IP',
'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED',
'REMOTE_ADDR',
'HTTP_PROXY_CONNECTION',
'HTTP_FORWARDED_FOR_IP',
'FORWARDED_FOR_IP',
'CLIENT_IP',
'FORWARDED',
'X_FORWARDED',
'FORWARDED_FOR',
'X_FORWARDED_FOR',
'VIA',
'HTTP_VIA',
'BAN_CHECK_IP',
'HTTP_X_FORWARDED_HOST',
);
问题:此订单是否正常,我是否放置了一些无用的内容,您是否知道我需要添加的内容?
我试图涵盖所有可能性并且最准确。
我目前的代码工作正常,但有时Cloudflare发送错误的数据,移动设备也让我遇到了一些问题和一些代理服务器。
谢谢!