Heim >Backend-Entwicklung >PHP-Tutorial >php中获取真实IP地址与IP地址验证函数

php中获取真实IP地址与IP地址验证函数

PHP中文网
PHP中文网Original
2017-03-23 10:48:381529Durchsuche

本文章就介绍二个函数一个是验证IP地址,另一个是获取用户的真实IP地址的函数,也是常用的两个IP操作函数,有需要的同学可以参考一下。

1.获取用户真实IP地址

function get_client_ip( ) 
{ 
        if ( getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) ) 
        { 
                $onlineip = getenv( "REMOTE_ADDR" ); 
                return $onlineip; 
        } 
        if ( isset( $_SERVER['REMOTE_ADDR'] ) && $_SERVER['REMOTE_ADDR'] && strcasecmp( $_SERVER['REMOTE_ADDR'], "unknown" ) ) 
        { 
                $onlineip = $_SERVER['REMOTE_ADDR']; 
                return $onlineip; 
        } 
        if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) ) 
        { 
                $onlineip = getenv( "HTTP_CLIENT_IP" ); 
                return $onlineip; 
        } 
        if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) ) 
        { 
                $onlineip = getenv( "HTTP_X_FORWARDED_FOR" ); 
        } 
        return $onlineip; 
}

判断是否为IP地址

function is_ip( $IP ) 
{ 
        $IP_ARRAY = explode( ".", $IP ); 
        $IP_ARRAY_NUM = sizeof( $IP_ARRAY ); 
        if ( $IP_ARRAY_NUM != 4 ) 
        { 
                return FALSE; 
        } 
        $I = 0; 
        for ( ;    $I < $IP_ARRAY_NUM;    ++$I    ) 
        { 
                if ( !is_numeric( $IP_ARRAY[$I] ) && $IP_ARRAY[$I] < 0 || 255 < $IP_ARRAY[$I] ) 
                { 
                        return FALSE; 
                } 
                if ( !( $I == 3 ) && !( $IP_ARRAY[$I] == 255 ) ) 
                { 
                        continue; 
                } 
                return FALSE; 
        } 
        return TRUE; 
}

相关文章:

php验证身份证号码正确性的函数

PHP 身份证号验证函数

项目开发中常用的三个PHP表单验证函数

Stellungnahme:
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