>백엔드 개발 >PHP 튜토리얼 >iphone4s 발신자 ID 소프트웨어 PHP에서 IP 주소를 확인하거나 필터링하기 위한 구현 코드

iphone4s 발신자 ID 소프트웨어 PHP에서 IP 주소를 확인하거나 필터링하기 위한 구현 코드

WBOY
WBOY원래의
2016-07-29 08:47:231777검색

구성 파일을 추가한 다음 특정 규칙을 통해 구성 파일에 금지해야 하는 일부 IP 주소를 추가할 수 있습니다. 프로그램이 초기화되면 구성 파일의 각 규칙을 읽은 다음 이 문서에서 제공하는 방법을 사용하세요. 현재 액세스한 클라이언트 IP 주소가 이러한 규칙에 존재하는지 확인하십시오. 존재하는 경우 서비스가 거부됩니다.

코드 복사 코드는 다음과 같습니다.


/**
* PHP에서 IP 주소 확인 또는 필터링
*
* IP 범위, CIDR(Classless Inter-Domain Routing) 및 단일 IP 형식 지원
* 구성: http://www.CodeBit. cn
* 참조:
* - {@link http://us2.php.net/manual/zh/function.ip2long.php#70055}
* - {@link http://us2 . php.net/manual/zh/function.ip2long.php#82397}
*
* @param string $network 네트워크 세그먼트, IP 범위, CIDR 및 단일 IP 형식 지원
* @param string $ 확인할 IP 주소
* @return boolean
*/
function netMatch($network, $ip) {
$network = Trim($network);
$ip = Trim($ip)
$result
// IP 범위: 174.129.0.0 - 174.129.255.255
if (false !== ($pos = strpos($network, "-"))) {
$from = ip2long(trim(substr($network, 0, $ pos)));
$to = ip2long(trim(substr($network, $pos 1)))
$ip = ip2long($ip); ip > = $from 및 $ip <= $to);
// CIDR : 174.129.0.0/16
} else if (false !== strpos($network,"/"))
목록($net, $mask) = 폭발('/', $network)
$result = (ip2long($ip) & ~((1 << (32 - $mask)) - 1) ) == ip2long($net);
// 단일 IP
} else {
$result = $network === $ip
}
return $result;
}
// 174.129.0.0 - 174.129.255.255
var_dump(netMatch(' 174.129.0.0 - 174.129.255.255 ', '174.129.1.31')) // 참
var_dump(net 경기 (' 1 74.129 .0.0/16 ', '174.139.1.31')); // 거짓
var_dump(netMatch(' 174.129.1.32 ', '174.129.1.31')) // 거짓
?> ;

중국에서 사용하는 IP 주소는 대부분 유동 IP 주소이기 때문에 IP 주소로 접근을 제한하는 경우에는 주의가 필요하지만 그래도 긴급 상황에서는 매우 유용합니다. 접근 제한.
위 내용은 iphone4s 발신자 표시 홈 소프트웨어의 내용을 포함하여 iphone4s 발신자 표시 홈 소프트웨어 PHP에서 IP 주소를 확인하거나 필터링하기 위한 구현 코드를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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