Heim > php教程 > php手册 > 获取客户端IP地址

获取客户端IP地址

WBOY
Freigeben: 2016-06-07 11:43:19
Original
1484 Leute haben es durchsucht

发现get_client_ip在局域网代理模式下面部分机器无法获取IP,故修改get_client_ip如下解决,但也有可能是我们这边服务器配置的问题:
修改位置:ThinkPHP\Common\funcitons.php->get_client_ip()function get_client_ip($type = 0) {<br>     $type       =  $type ? 1 : 0;<br>     static $ip  =   NULL;<br>     if ($ip !== NULL) return $ip[$type];<br>     if($_SERVER['HTTP_X_REAL_IP']){//nginx 代理模式下,获取客户端真实IP<br>         $ip=$_SERVER['HTTP_X_REAL_IP'];     <br>     }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {//客户端的ip<br>         $ip     =   $_SERVER['HTTP_CLIENT_IP'];<br>     }elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {//浏览当前页面的用户计算机的网关<br>         $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);<br>         $pos    =   array_search('unknown',$arr);<br>         if(false !== $pos) unset($arr[$pos]);<br>         $ip     =   trim($arr[0]);<br>     }elseif (isset($_SERVER['REMOTE_ADDR'])) {<br>         $ip     =   $_SERVER['REMOTE_ADDR'];//浏览当前页面的用户计算机的ip地址<br>     }else{<br>         $ip=$_SERVER['REMOTE_ADDR'];<br>     }<br>     // IP地址合法验证<br>     $long = sprintf("%u",ip2long($ip));<br>     $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);<br>     return $ip[$type];<br> }

AD:真正免费,域名+虚机+企业邮箱=0元

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage