>  기사  >  백엔드 개발  >  PHP의 범위 내에 IP 주소가 존재하는지 확인

PHP의 범위 내에 IP 주소가 존재하는지 확인

不言
不言원래의
2018-04-13 10:07:543186검색

이 글의 내용은 PHP에서 범위 내에 IP 주소가 있는지 확인하는 방법에 대해 공유하는 것입니다. 도움이 필요한 친구는 참고할 수 있습니다.

인터넷에서 범위를 확인할 수 있는 많은 방법을 보았습니다. IP 주소. 유용한 규칙 및 문자열 차단. 많이 시도해 봤는데 별로 믿음직스럽지 못하다는 생각이 듭니다. 첫째, 정확성을 포기하기가 좀 꺼려집니다. 둘째, 성능이 너무 나빠지고 복잡해집니다. 많은 정보를 검색한 후 더 나은 성능으로 IP 주소 범위를 결정하는 간단한 방법을 찾았습니다.

IP 주소 데이터베이스는 정말 좋습니다. http://www.cz88.net/

온라인 인터페이스를 사용할 수도 있지만 문제가 있습니다. for 루프를 자주 사용하여 액세스할 수 없습니다. 그렇지 않으면 인터페이스에 의해 차단됩니다

Taobao IP 주소 데이터베이스: http://ip.taobao.com/service/getIpInfo.php?ip=여기에 IP 주소를 입력하세요


사실 IP 주소 범위를 결정하는 것은 매우 간단합니다. 아래에 작성한 사례를 보면 이해하실 수 있습니다.





[ php] 일반 사본 보기

//案例:判断192.168.1.127是否在 (192.168.1.1--192.168.1.255)的范围里面  
  
$ip_start = get_iplong('192.168.1.1'); //起始ip  
$ip_end = get_iplong('192.168.1.255');//至ip  
$ip = get_iplong('192.168.1.127');//判断的ip  
//可以这样简单判断  
if($ip>=$ip_start && $ip <=$ip_end){  
    echo &#39;IP在此范围内&#39;;  
}else{  
    echo &#39;IP不在此范围&#39;;  
}  
/** 
 * 将ip地址转换成int型 
 * @param $ip  ip地址 
 * @return number 返回数值 
 */  
function get_iplong($ip){  
    //bindec(decbin(ip2long(&#39;这里填ip地址&#39;)));  
    //ip2long();的意思是将IP地址转换成整型 ,  
    //之所以要decbin和bindec一下是为了防止IP数值过大int型存储不了出现负数。  
    return bindec(decbin(ip2long($ip)));  
}


위 내용은 PHP의 범위 내에 IP 주소가 존재하는지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.