在网站设计过程中,怎样取得用户真实IP地址? 就一般的用户而言,只要用PHP的$_SERVER["REMOTE_ADDR"]就可取得。 但是对于使用了代理服务器的用户,得进行特殊处理。 具体代码如下: //IP地址获取 if(isset($_SERVER["HTTP_CLIENT_IP"])){ $onlineip = $_SERVER["HTTP_CLIENT_IP"]; }else if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ foreach (explode(',',$_SERVER["HTTP_X_FORWARDED_FOR"]) as $ip){ if(strtolower(trim($ip))!="unknown"){ $onlineip = $ip; break; } } $onlineip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }else if(isset($_SERVER["REMOTE_ADDR"])){ $onlineip = $_SERVER["REMOTE_ADDR"]; }else{ $onlineip = '0.0.0.0'; } if(ereg("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}",$onlineip)==false){ $onlineip = '0.0.0.0'; }//结束IP获取 在整个过程中,对于无法取得的IP都设为了0.0.0.0,这样的设定是为了跟网站的其它地方功能配合。 |