首頁  >  文章  >  後端開發  >  如何驗證 CIDR 子網路中的 IP 位址是否包含?

如何驗證 CIDR 子網路中的 IP 位址是否包含?

Patricia Arquette
Patricia Arquette原創
2024-10-18 19:35:03599瀏覽

How to Verify IP Address Inclusion in a CIDR Subnet?

驗證CIDR 子網路中的IP 位址是否包含

要確定IPv4 位址是否屬於指定的CIDR 子網,一種簡單的方法涉及以下步驟:

轉換為長整數:

  • 利用ip2long() 函數將IP 位址和子網路範圍轉換為長整數。

子網路遮罩派生:

    如果未明確提供子網路遮罩(/xx),則假定預設遮罩為/ 32。
  • 以左移 1 秒到 32 減去遮罩長度來計算子網路遮罩。

按位比較:

    執行IP 長整型與子網路遮罩位元與運算。
  • 檢查結果是否等於子網長整數。

實作:

下面的 PHP 函數封裝了這個邏輯:

以上是如何驗證 CIDR 子網路中的 IP 位址是否包含?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn