CIDR サブネットへの IP アドレスの包含の確認
IPv4 アドレスが指定された CIDR サブネット内にあるかどうかを確認するには、次のような簡単な方法があります。次の手順:
長整数への変換:
サブネット マスクの導出:
ビットごとの比較:
実装:
次の PHP 関数はこのロジックをカプセル化します:
<code class="php">function cidr_match($ip, $range) { list ($subnet, $bits) = explode('/', $range); if ($bits === null) { $bits = 32; } $ip = ip2long($ip); $subnet = ip2long($subnet); $mask = -1 << (32 - $bits); $subnet &= $mask; return ($ip & $mask) == $subnet; }</code>
以上がCIDR サブネットに IP アドレスが含まれていることを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。