この記事では、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 functionfunction 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 %>