PHP는 네트워크 내에서 특정 IP 여부를 확인하는 방법

때로는 필요가 특정 범위 내에서 특정 IP가하는 서브넷 네트워크, 하나가 시작 CCNA 지식이 명확하게 계산되지 않을 수 있습니다 학습에 대한 서브넷 주소를 계산하기 위해 필요의 끝과 끝, 판단하기 어려운 여부를 결정합니다. 코드를 살펴 :
<?php
/**
	* 判断IP是否在某个网络内
	* 运维生存时间
	* site:www.ttlsa.com

	* @param $ip
	* @param $network
	* @return bool
*/

function ip_in_network($ip, $network)
{
    $ip = (double) (sprintf("%u", ip2long($ip)));
    $s = explode('/', $network);
    $network_start = (double) (sprintf("%u", ip2long($s[0])));
    $network_len = pow(2, 32 - $s[1]);
    $network_end = $network_start + $network_len - 1;

    if ($ip >= $network_start && $ip <= $network_end)
    {
        return true;
    }
    return false;
}

?>
이 방법은 공통의 함수로서 사용될 수있다. 장황한 하나가 강력 ip2long 다음 데이터베이스로 변환 사용하는 것이 좋습니다, 데이터베이스에 저장된 IP 주소에 대한 케이스를 넣어. HTTP : //www.ttlsa.com/html/2751.html 재 인쇄에 대한 소스를 표시하시기 바랍니다

HTTPS : //my.oschina.net/766/blog/211135 재현

추천

출처blog.csdn.net/weixin_33725515/article/details/91547166