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
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);
$pool
APR::Pool object
$ip
IP address in one of the two formats: IPv4 (e.g. "127.0.0.1") or IPv6 (e.g. "::1"). IPv6 addresses are accepted only if APR has the IPv6 support enabled.
$mask_or_numbits
An optional IP mask (e.g. "255.0.0.0") or number of bits (e.g. "15").
If none provided, the default is not to mask off.
$ret
APR::IpSubnet object
The IP-subnet object
APR::Error
test
Test the IP address in the socket address object against a pre-built ip-subnet representation.
$ret = $ipsub->test($sockaddr);
$ipsub
The ip-subnet representation
$sockaddr
APR::SockAddr object
The socket address to test
true if the socket address is within the subnet, false otherwise
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.
mod_access
Allow
Deny
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 documentation.
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.
To install mod_perl2, copy and paste the appropriate command in to your terminal.
cpanm
cpanm mod_perl2
CPAN shell
perl -MCPAN -e shell install mod_perl2
For more information on module installation, please visit the detailed CPAN module installation guide.