APR::IpSubnet - Perl API for accessing APRs ip_subnet structures |
APR::IpSubnet - Perl API for accessing APRs ip_subnet structures
use APR::IpSubnet (); my $ipsub = APR::IpSubnet->new($pool, "127.0.0.1"); $ok = $ipsub->test($sock_addr);
APR::IpSubnet
object represents a range of IP addresses
(IPv4/IPv6). A socket connection can be matched against this range to
test whether the IP it's coming from is inside or outside of this
range.
APR::IpSubnet
provides the following functions and/or methods:
new
Create an IP subnet represenation object
$ipsubnet = APR::IpSubnet->new($pool, $ip); $ipsubnet = APR::IpSubnet->new($pool, $ip, $mask_or_numbits);
APR::IpSubnet
(class name)$pool
( APR::Pool object|docs::2.0::api::APR::Pool
)$ip
( string )$mask_or_numbits
( string )If none provided, the default is not to mask off.
$ret
( APR::IpSubnet object|docs::2.0::api::APR::IpSubnet
)APR::Error|docs::2.0::api::APR::Error
test
Test the IP address in the socket address object against a pre-built ip-subnet representation.
$ret = $ipsub->test($sockaddr);
$ipsub
( APR::IpSubnet object|docs::2.0::api::APR::IpSubnet
)$sockaddr
( APR::SockAddr object|docs::2.0::api::APR::SockAddr
)$ret
( boolean )This method is used for testing whether or not an address is within a
subnet. It's used by module mod_access
to check whether the client
IP fits into the IP range, supplied by Allow
/Deny
directives.
Example:
Allow accesses only from the localhost (IPv4):
use APR::IpSubnet (); use Apache2::Connection (); use Apache2::RequestRec (); my $ipsub = APR::IpSubnet->new($r->pool, "127.0.0.1"); ok $ipsub->test($r->connection->remote_addr);
mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.
The mod_perl development team and numerous contributors.
APR::IpSubnet - Perl API for accessing APRs ip_subnet structures |