最佳答案
function get_client_ip() { $ip = $_SERVER [ 'REMOTE_ADDR' ]; if (isset( $_SERVER [ 'HTTP_CLIENT_IP' ]) && preg_match( '/^([0-9]{1,3}\.){3}[0-9]{1,3}$/' , $_SERVER [ 'HTTP_CLIENT_IP' ])) { $ip = $_SERVER [ 'HTTP_CLIENT_IP' ]; } elseif (isset( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]) AND preg_match_all( '#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s' , $_SERVER [ 'HTTP_X_FORWARDED_FOR' ], $matches )) { foreach ( $matches [0] AS $xip ) { if (!preg_match( '#^(10|172\.16|192\.168)\.#' , $xip )) { $ip = $xip ; break ; } } } return $ip ; } |
追问
请问这段代码如何应用啊
追答
$user_ip = get_client_ip();
echo $user_ip; //可获得真实IP
追问
t_ip()这里要如何定义啊