class Ip (View source)

A utility class for dealing with IP addresses.

Methods

static bool
cidrMatch(string $ip, string $range)

Matches a CIDR range pattern against an IP

Details

static bool cidrMatch(string $ip, string $range)

Matches a CIDR range pattern against an IP

The range can contain IPv4 and IPv6 addresses (including IPv6 wrapped IPv4 addresses).

Parameters

string $ip

The IP to match

string $range

The CIDR range pattern to match against

Return Value

bool

true if the pattern matched, false otherwise

See also

http://tools.ietf.org/html/rfc4632
http://tools.ietf.org/html/rfc4291#section-2.3 Example: 127.0.0.0/24 will match all IP addresses from 127.0.0.0 to 127.0.0.255 127.0.0.0/31 and 127.0.0.1/31 will both match the IP addresses 127.0.0.0 and 127.0.0.1 127.0.0.254/31 and 127.0.0.255/31 will both match the IP addresses 127.0.0.254 and 127.0.0.255 1:2::3:4 will match the IPv6 address written as 1:2:0:0:0:0:3:4 or 1:2::3:4 ::7F00:1 will match the address written as 127.0.0.1, ::127.0.0.1 or ::7F00:1 ::1 (IPv6 loopback) will *not* match the address 127.0.0.1