做了CDN获取用户真实IP的函数代码PHP与Asp设置方式
发布时间:2022-07-09 11:13:38 所属栏目:PHP教程 来源:互联网
导读:asp函数代码: 复制代码 代码如下:www.CuoXIn.com function checkip(checkstring)用正则判断IP是否合法 dim re1 set re1=new RegExp re1.pattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ re1.global=false re1.Ignorecase=false checkip=re1.test(
asp函数代码: 复制代码 代码如下:www.CuoXIn.com function checkip(checkstring)'用正则判断IP是否合法 dim re1 set re1=new RegExp re1.pattern=”^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$” re1.global=false re1.Ignorecase=false checkip=re1.test(checkstring) set re1=nothing end function function get_cli_ip()'取真实IP函数,先 HTTP_CLIENT_IP 再 HTTP_X_FORWARDED_FOR 再 REMOTE_ADDR dim client_ip if checkip(Request.ServerVariables(”HTTP_CLIENT_IP”))=true then get_cli_ip = checkip(Request.ServerVariables(”HTTP_CLIENT_IP”)) else MyArray = split(Request.ServerVariables(”HTTP_X_FORWARDED_FOR”),”,”) if ubound(MyArray)>=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 discuz论坛取真实IP的php代码,其它类似,请参考稍做修改 (discuz修改include/common.inc.php) 用以下这段代码: 复制代码 代码如下:www.CuoXIn.com if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $testip = explode('.', getenv('HTTP_X_FORWARDED_FOR')); if ($testip[0]=='192′ && $testip[1]=='168′) { $onlineip = getenv('REMOTE_ADDR'); } elseif($testip[0]=='10′) { $onlineip = getenv('REMOTE_ADDR'); } else { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } //gamesir hack end} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER ['REMOTE_ADDR'],'unknown')) { //by Johnny $tmp_ip = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); $tmp_ip1 = explode(',',$tmp_ip[0]); if ($tmp_ip1[0] =='192′ && $tmp_ip1[1] =='168′) { $onlineip = getenv('REMOTE_ADDR'); }else if($tmp_ip1[0]=='10′) { $onlineip = getenv('REMOTE_ADDR'); } else{ $onlineip = $tmp_ip[0]; } unset($tmp_ip);unset($tmp_ip1); } 替换这段代码: 复制代码 代码如下:www.CuoXIn.com if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER ['REMOTE_ADDR'],'unknown')) { $onlineip = $_SERVER['REMOTE_ADDR']; }。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐