2016-07-16 44 views

回答

0

HTTP_CLIENT_IP从共享上网 但REMOTE_ADDR IP是当前IP

对于实例功能上的PHP:

function getRealIpAddr() 
{ 
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet 
    { 
     $ip=$_SERVER['HTTP_CLIENT_IP']; 
    } 
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy 
    { 
     $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
    } 
    else 
    { 
     $ip=$_SERVER['REMOTE_ADDR']; 
    } 
    return $ip; 
} 
+0

为什么不'$ _ SERVER [ 'REMOTE_ADDR']'?在哪些情况下有人会使用另外两个? – JedatKinports

+0

如果您信任REMOTE_ADDR上的标头,那么[伪造IP](http://stackoverflow.com/a/5092951/2205532)真的很容易;这通常是安全的。 – Think

相关问题