Supesite使用CDN后获取真实IP 办法 include/main.inc.php文件,这部分 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $_SGLOBAL['onlineip'] = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $_SGLOBAL['onlineip'] = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $_SGLOBAL['onlineip'] = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $_SGLOBAL['onlineip'] = $_SERVER['REMOTE_ADDR']; } 替换成 function get_real_ip() { $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i =0 then client_ip = trim(MyArray(0)) if checkip(client_ip)=true then get_cli_ip = client_ip exit function end if end if get_cli_ip = Request.ServerVariables("REMOTE_ADDR") end if end function ASP.NET获取IP的6种方法 服务端: //方法一 HttpContext.Current.Request.UserHostAddress; //方法二 HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; //方法三 string strHostName = System.Net.Dns.GetHostName(); string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString(); //方法四(无视代理) HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; 客户端: //方法五 var ip = ''; alert("Your IP address is "+ip); //方法六(无视代理) function GetLocalIPAddress() { var obj = null; var rslt = ""; try { obj = new ActiveXObject("rcbdyctl.Setting"); rslt = obj.GetIPAddress;