1.获取用户真实ip
1 function GetIP() 2 { 3 //获取客户端的IP,存在于http请求的header中,可伪造 4 if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { 5 $ip = getenv("HTTP_CLIENT_IP"); 6 } else { 7 //透过代理服务器取得客户端的真实 IP 地址 8 if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { 9 $ip = getenv("HTTP_X_FORWARDED_FOR"); 10 } else { 11 //没通过代理服务器,就取REMOTE_ADDR 12 if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { 13 $ip = getenv("REMOTE_ADDR"); 14 } else { 15 //getenv不支持IIS的isapi方式运行的php 16 //通过$_SERVER获取 17 if (isset($_SERVER[‘REMOTE_ADDR‘]) && $_SERVER[‘REMOTE_ADDR‘] && strcasecmp($_SERVER[‘REMOTE_ADDR‘], "unknown")) { 18 $ip = $_SERVER[‘REMOTE_ADDR‘]; 19 } else { 20 $ip = "unknown"; 21 } 22 } 23 } 24 } 25 return ($ip); 26 }
时间: 2024-12-14 09:31:09