How to know which version of the Internet Protocol (IP) a client is using when connecting to my server?

后端 未结 7 494
北海茫月
北海茫月 2020-12-04 19:38

I want to check via php if someone connects to my site via IPv4 or IPv6.

The client address can be found in $_SERVER[\"REMOTE_ADDR\"] but

7条回答
  •  既然无缘
    2020-12-04 20:22

    Check for IPv4

    $ip = "255.255.255.255";
    if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {    
        echo "Valid IPv4";
    }
    else {
        echo "Invalid IPv4";
    }
    

    Check for IPv6

    $ip = "FE80:0000:0000:0000:0202:B3FF:FE1E:8329";    
    if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
        echo "Valid IPv6";
    }
    else {
        echo "Invalid IPv6";
    }
    

    For more, check PHP function filter_vars and list of filters for validation.

提交回复
热议问题