이 글에서는 IP 주소가 인트라넷인지 개인 IP 주소인지 확인하기 위한 ASP 구현의 코드 공유를 주로 소개합니다. IP 판단이 필요한 친구들도 참고할 수 있습니다.
ASP는 IP 주소가 개인/인트라넷 IP 주소 소스 코드인지 확인합니다.
인트라넷/개인 IP 주소 세그먼트와 127로 시작하는 루프백 주소는 다음과 같습니다.
10.0.0.0-10.255.255.255
172.16.0.0—172.31.255.255
192.168.0.0-192.168.255.255
구현 코드:
<%function IpToNumber(ip)'IP 주소를 숫자로 변환 arr=split(ip,.) IpToNumber=256*256*256*clng(arr(0))+256*256*clng(arr(1))+256 *clng(arr(2))+clng(arr(3))end function함수 IsPrivateIp(ip)' 주어진 IP 주소가 인트라넷/개인 IP 주소인지 확인 if instr(ip,127.)=1 then'루프백 IP 주소 IsPrivateIp=true:exit function end if ABegin=IpToNumber(10.0.0.0):AEnd=IpToNumber(10.255.255.255)' 클래스 A 개인 IP 주소 BBegin=IpToNumber(172.16.0.0):BEnd=IpToNumber(1 72.31.255.255)'클래스 B 개인 IP 주소 CBegin=IpToNumber(192.168.0.0):CEnd=IpToNumber(192.168.255.255)'클래스 C 개인 IP 주소 IpNum=IpToNumber(ip) IsPrivateIp=(ABegin<=IpNum 및 IpNum<=AEnd) 또는 (BBegin<=IpNum 및 IpNum<=BEnd) 또는 (CBegin<=IpNum 및 IpNum<=CEnd)end functionResponse.Write IsPrivateIp(11.255.255.255)&<br >'falseResponse.쓰기 IsPrivateIp(182.255.255.255)&<br>'falseResponse.Write IsPrivateIp(172.30.255.255)&<br>'trueResponse.Write IsPrivateIp(192.168.205.2)&<br>'trueResponse.Write IsPrivateIp(127.168.205.2)'true %>