PHP 中检查或过滤IP地址的实现代码
网络环境异常复杂,有时候我们不得不禁止一些恶意用户访问,禁止的方式有很多种,其中一种就是通过 IP 来限制,本文提供的方法允许你通过 IP 区间、CIDR (Classless Inter-Domain Routing)及单个 IP 格式来检查或过滤 IP 地址
你可以通过增加一个配置文件,然后将需要禁止的一些 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 要检查的 IP 地址
* @return boolean
*/
function netMatch($network, $ip) {
$network = trim($network);
$ip = trim($ip);
$result = false;
// IP range : 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);
$result = ($ip >= $from and $ip // CIDR : 174.129.0.0/16
} else if (false !== strpos($network,"/")) {
list ($net, $mask) = explode ('/', $network);
$result = (ip2long($ip) & ~((1 // single 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')); // True
var_dump(netMatch(' 174.129.0.0/16 ', '174.139.1.31')); // False
var_dump(netMatch(' 174.129.1.32 ', '174.129.1.31')); // False
?>
由于中国使用的大多数都是动态 IP 地址,所以通过 IP 地址限制访问具有一定的局限性,使用的时候需要谨慎,但是对于应急限制访问来说,还是非常有用的。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Xiaohongshu는 사용자가 일상을 공유하고 좋아하는 제품을 발견할 수 있는 인기 있는 소셜 전자상거래 플랫폼입니다. 일부 사용자는 개인 정보 보호에 더 민감하며 온라인 개인 정보 보호를 위해 자신의 IP 주소가 Xiaohongshu에 표시되지 않기를 바랍니다. 그렇다면 Xiaohongshu가 IP 주소를 표시하지 않도록 설정하는 방법은 무엇입니까? 이 기사에서는 이 질문에 대해 자세히 답변할 것입니다. 1. Xiaohongshu가 IP 주소를 표시하지 않도록 설정하는 방법은 무엇입니까? 1. Xiaohongshu 설정 수정: Xiaohongshu 앱을 열고 오른쪽 하단에 있는 "나"를 클릭하여 개인 센터에 들어갑니다. 그런 다음 아바타를 클릭하여 계정 설정으로 들어갑니다. 계정 설정에서 "개인정보 설정"을 찾아 클릭하여 들어갑니다. 여기에서 IP 주소에 대한 설정 옵션을 찾을 수 있습니다. 이 옵션을 끄시면 됩니다. 2. 캐시 지우기: 때때로 Xiaohongshu에서 오류가 표시될 수 있습니다.

때때로 모든 사람이 IP 주소를 수동으로 수정해야 하는 경우가 있지만 일부 Windows 10 고객은 IP 주소를 설정한 후에 저장할 수 없다고 보고합니다. 이 상황을 해결하는 방법은 무엇입니까? IP 주소를 입력하는 중 오류가 발생하여 기본적으로 IP 주소가 저장됩니다. 서브넷 마스크와 함께 서브넷 접두사가 작성되었는지 확인할 수 있습니다. 그렇다면 변경 후 정상적으로 저장하면 됩니다. IP 주소. Windows 10 IP 주소를 설정한 후 저장할 수 없는 문제를 해결하는 방법: 오류 그림은 다음과 같습니다. 오류입니다. 그림과 같이 서브넷 마스크가 아닌 서브넷 접두사 길이입니다. 위 그림과 같이 실제로 많은 사용자들이 서브넷 접두어를 서브넷 마스크로 기재해 두는 경우가 많습니다.

Xiaomi 휴대폰의 IP 주소는 어디에 있습니까? Xiaomi 휴대폰에서 IP 주소를 확인할 수 있지만 대부분의 사용자는 IP 주소를 확인할 수 있는 곳을 모릅니다. 다음은 Xiaomi 모바일의 IP 주소를 확인하는 방법에 대한 그래픽 튜토리얼입니다. 에디터가 가져온 폰. 관심있는 분들은 오셔서 구경해보세요! Xiaomi 휴대폰의 IP 주소는 어디에 있습니까? 1. 먼저 Xiaomi 휴대폰에서 설정 기능을 열고 [내 장치]를 클릭하여 들어갑니다. 2. 그런 다음 내 장치 기능 페이지에서 [모든 매개변수] 서비스를 클릭합니다. 그런 다음 모든 매개변수 페이지에서 아래쪽으로 슬라이드하여 [상태 정보]를 선택합니다. 4. 마지막으로 상태 정보 인터페이스에서 IP 주소를 볼 수 있습니다.

Xianyu는 매우 실용적인 중고 거래 플랫폼입니다. 여기서 우리는 다양한 제품을 구매하고 우리 자신의 유휴 품목을 판매할 수 있습니다. 아래 에디터와 함께 살펴보시죠! Xianyu IP 주소 수정 방법을 공유하세요. 먼저 Xianyu 소프트웨어를 열면 왼쪽 상단에 해산물 시장, 추천, 주소 및 기타 옵션이 표시됩니다. 2. 그런 다음 주소 페이지에서 주소 옆에 있는 [아래쪽 화살표]를 클릭합니다. 3. 마지막 클릭 후 도시 선택 페이지에서 도시를 클릭합니다.

사용자들은 Douyin을 통해 자신의 삶을 공유하고, 자신의 재능을 뽐내며, 전국은 물론 전 세계 네티즌들과 소통합니다. 일부 사용자는 개인 정보 보호 또는 지리적 제한과 같은 이유로 Douyin에서 IP 주소를 변경하기를 원합니다. 그렇다면 Douyin IP 주소는 어떻게 위치를 변경합니까? 1. Douyin IP 주소의 위치를 변경하는 방법은 무엇입니까? 프록시 서버는 사용자 요청을 인터넷으로 전달하고 응답을 반환하는 데 사용되는 중개 서비스입니다. 프록시 서버를 구성하면 사용자는 실제 IP 주소를 숨기고 IP 주소를 변경할 수 있습니다. 이 접근 방식은 사용자 개인 정보를 보호하고 네트워크 보안을 향상시키는 데 도움이 됩니다. 프록시 서버를 사용하여 제한된 콘텐츠에 액세스하거나 지리적 위치 제한을 우회할 수도 있습니다. 전반적으로 프록시 서버를 사용하는 것은 사용자가 인터넷을 보다 안전하고 자유롭게 탐색하는 데 도움이 되는 실용적인 네트워크 도구입니다.

Quark Browser를 사용하면 중복 파일을 필터링하는 기능이 있는데, 이 기능을 활성화하는 방법에 대해 소개합니다. 1. 먼저 휴대폰에서 "Quark Browser"를 클릭하여 인터페이스로 들어간 다음 페이지 중간에 있는 옵션에서 "Quark Network Disk"를 클릭하고 선택하여 열고 들어갑니다. 2. 아래 그림과 같이 Quark 네트워크 디스크 인터페이스 하단에서 "백업 설정"을 찾아 클릭하여 엽니다. 3. 다음으로 입력한 페이지에 "중복 파일 필터링"이 있습니다. 그 뒤에 표시되는 스위치 버튼이 있습니다. 이 기능을 켜려면 원형 슬라이더를 클릭하고 색상으로 설정하세요. 파일을 계속 백업하면 네트워크 디스크 용량을 절약하기 위해 중복된 파일을 건너뜁니다.

비트코인 거래 IP 주소 비트코인 거래 IP 주소는 비트코인 거래 시스템의 필수적이고 중요한 구성 요소입니다. 비트코인 거래자가 비트코인 거래를 수행할 수 있는 비트코인 거래 플랫폼의 핵심입니다. 비트코인 거래 IP 주소는 비트코인 거래 시스템의 기초이자 비트코인 거래자가 비트코인 거래를 수행할 수 있는 기초입니다. 비트코인 거래 IP 주소는 비트코인 거래 시스템의 서버와 거래자의 장치를 찾는 데 사용되는 글로벌 네트워크 주소입니다. 비트코인 거래 IP 주소를 조회하면 거래 현황 및 관련 정보를 얻을 수 있습니다. 또한, 비트코인 거래 IP 주소는 클라이언트를 비트코인 거래 시스템 및 거래자의 장치에 연결하는 데에도 사용될 수 있습니다. 비트코인 거래 IP 주소는 공개되어 있나요? 비트코인 거래 IP 주소는 공개되지 않습니다.

Go 정규식 가이드: IP 주소 일치 방법 소개: 정규식은 문자열의 특정 패턴을 일치시키고 검색하는 강력한 도구입니다. Go 언어에서는 내장된 regexp 패키지를 사용하여 정규식 작업을 구현할 수 있습니다. 이 기사에서는 Go 언어에서 정규식을 사용하여 IP 주소를 일치시키는 방법을 소개합니다. IP 주소 형식: IP 주소는 32비트 이진수로 구성된 주소이며 일반적으로 4개의 구분된 십진수로 표시됩니다. 각 십진수 범위는 0부터 255까지입니다.
