PHP获取及验证客户端IP地址是IPv4还是IPv6

[ PHP ] 2019-12-28 23:06:48 杨歆 602
<?php
/**
 * 获取客户端IP地址
 * 验证获取到的客户端IP地址是IPv4还是IPv6
 * @return array
 */
function ip(){

    if(isset($_SERVER)){
        if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        }else if(isset($_SERVER['HTTP_CLIENT_IP'])){
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        }else{
            $ip = $_SERVER['REMOTE_ADDR'];
        }
    }
    else{
        if(getenv('HTTP_X_FORWARDED_FOR')){
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        }else if(getenv('HTTP_CLIENT_IP')){
            $ip = getenv('HTTP_CLIENT_IP');
        }else{
            $ip = getenv('REMOTE_ADDR');
        }
    }
    $realIp = [];
    if( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) ){
        // Yes it's valid IPv4
        $realIp['ipv4'] = $ip;
    }
    if( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) ){
        // Yes it's valid IPv6
        $realIp['ipv6'] = $ip;
    }
    return $realIp;

}

var_dump(ip());
支付宝支付
打赏
微信支付

联系我吧

有些人是会淡出你的生活的,有些人刻意不再联系,是因为你知道ta不需要你,或者从一开始就不是同一个初衷在一起度过,不主动联系很久也不见一次面,所有的感情也罢,都会败给时间和距离。因为时间是最无情,给你后悔的时刻却不会给你改过重来的机会。

位置

成都市 四川省 中国

联系电话

028-6406-0000

邮箱

y139w@163.com

企鹅

27572048

网址

https://www.weania.com