我有个域名地址,通过智能DNS会根据不同运营商把客户端数据post到不同服务器。
服务器上通过一个PHP接收数据并获取客户端地址,代码如下:
if($_SERVER['HTTP_X_FORWARDED_FOR'] && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/',$_SERVER['HTTP_X_FORWARDED_FOR'])) {
$xff = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif($_SERVER['HTTP_CLIENT_IP'] && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])) {
$xff = $_SERVER['HTTP_CLIENT_IP'];
}
else {
$xff = $_SERVER['REMOTE_ADDR'];
}
现在分析获取的数据,发现获取的客户端配置的IP DNS很多是联通或者电信的,但是域名却被解析到教育网的IP上,xff获取的IP也是教育网的
其他服务器没出现这问题,比如联通的IP DNS解析域名到联通服务器,xff也是联通,唯独教育网有这个问题,请问这个要怎么解释呢?