14 use PHPUnit\Framework\TestCase;
22 public function testIpv4($matches, $remoteAddr, $cidr)
30 array(
true,
'192.168.1.1',
'192.168.1.1'),
31 array(
true,
'192.168.1.1',
'192.168.1.1/1'),
32 array(
true,
'192.168.1.1',
'192.168.1.0/24'),
33 array(
false,
'192.168.1.1',
'1.2.3.4/1'),
34 array(
false,
'192.168.1.1',
'192.168.1.1/33'),
35 array(
true,
'192.168.1.1', array(
'1.2.3.4/1',
'192.168.1.0/24')),
36 array(
true,
'192.168.1.1', array(
'192.168.1.0/24',
'1.2.3.4/1')),
37 array(
false,
'192.168.1.1', array(
'1.2.3.4/1',
'4.3.2.1/1')),
38 array(
true,
'1.2.3.4',
'0.0.0.0/0'),
39 array(
true,
'1.2.3.4',
'192.168.1.0/0'),
40 array(
false,
'1.2.3.4',
'256.256.256/0'),
41 array(
false,
'an_invalid_ip',
'192.168.1.0/24'),
48 public function testIpv6($matches, $remoteAddr, $cidr)
50 if (!defined(
'AF_INET6')) {
51 $this->markTestSkipped(
'Only works when PHP is compiled without the option "disable-ipv6".');
60 array(
true,
'2a01:198:603:0:396e:4789:8e99:890f',
'2a01:198:603:0::/65'),
61 array(
false,
'2a00:198:603:0:396e:4789:8e99:890f',
'2a01:198:603:0::/65'),
62 array(
false,
'2a01:198:603:0:396e:4789:8e99:890f',
'::1'),
63 array(
true,
'0:0:0:0:0:0:0:1',
'::1'),
64 array(
false,
'0:0:603:0:396e:4789:8e99:0001',
'::1'),
65 array(
true,
'2a01:198:603:0:396e:4789:8e99:890f', array(
'::1',
'2a01:198:603:0::/65')),
66 array(
true,
'2a01:198:603:0:396e:4789:8e99:890f', array(
'2a01:198:603:0::/65',
'::1')),
67 array(
false,
'2a01:198:603:0:396e:4789:8e99:890f', array(
'::1',
'1a01:198:603:0::/65')),
68 array(
false,
'}__test|O:21:"JDatabaseDriverMysqli":3:{s:2',
'::1'),
69 array(
false,
'2a01:198:603:0:396e:4789:8e99:890f',
'unknown'),
79 if (defined(
'AF_INET6')) {
80 $this->markTestSkipped(
'Only works when PHP is compiled with the option "disable-ipv6".');
83 IpUtils::checkIp(
'2a01:198:603:0:396e:4789:8e99:890f',
'2a01:198:603:0::/65');