您的位置:

php网站如何判断ip地址(php判断ip是否合法)

本文目录一览:

PHP 怎样判断一个ip地址是否可以连接,比如说:192.168.0.1可以访问,192.168.0.115不能访问

一般的局域网内都用192.168开头.

ip的通用形式是:xxx.xxx.xxx.xxx

xxx的大小不能超过256.并且根据xxx的大小范围,对ip分了类.

192.168.开头的就是c类网.

如果有网关,一般是192.168.0.1

也就是说,局域网内ip不能直接连到互联网上,要通过这个网关地址的服务器才能连出去.

互联网上有很多局域网,192.168.开头的ip可以多次被使用(但同一局域网内的ip不能重复).

php判断是否是有效IP地址的方法

提供下面两个方法,供选择:

function checkIp($ip)

{

    $arr = explode('.',$ip);

    if(count($arr) != 4){

        return false;

    }else{

        for($i = 0;$i  4;$i++){

            if(($arr[$i] '0') || ($arr[$i]  '255')){

                return false;

            }

        }

    }

    return true;

}

function isIp($ip) {

    if (preg_match('/^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1 -9]?\d))))$/', $ip)) {

        return 1;

    } else {

        return 0;

    }

}

php如何判断IP为有效IP地址

不需要正则表达式来判断,因为在php5.2.0之后,有专门的函数来做这个判断了。

判断是否是合法IP

if(filter_var($ip, FILTER_VALIDATE_IP)) {

// it's valid

}

else {

// it's not valid

}

判断是否是合法的IPv4 IP地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {

// it's valid

}

else {

// it's not valid

}

判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {

// it's valid

}

else {

// it's not valid

}

判断是否是合法的IPv6地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {

// it's valid

}

else {

// it's not valid

}

判断是否是public IPv4 IP或者是合法的Public IPv6 IP地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {

// it's valid

}

else {

// it's not valid

}