PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.1
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / symfony / http-foundation / Tests / IpUtilsTest.php
give / vendor / vendor-prefixed / symfony / http-foundation / Tests Last commit date
File 2 years ago Fixtures 2 years ago Session 2 years ago schema 2 years ago AcceptHeaderItemTest.php 2 years ago AcceptHeaderTest.php 2 years ago ApacheRequestTest.php 2 years ago BinaryFileResponseTest.php 2 years ago CookieTest.php 2 years ago ExpressionRequestMatcherTest.php 2 years ago FileBagTest.php 2 years ago HeaderBagTest.php 2 years ago IpUtilsTest.php 2 years ago JsonResponseTest.php 2 years ago ParameterBagTest.php 2 years ago RedirectResponseTest.php 2 years ago RequestMatcherTest.php 2 years ago RequestStackTest.php 2 years ago RequestTest.php 2 years ago ResponseFunctionalTest.php 2 years ago ResponseHeaderBagTest.php 2 years ago ResponseTest.php 2 years ago ResponseTestCase.php 2 years ago ServerBagTest.php 2 years ago StreamedResponseTest.php 2 years ago
IpUtilsTest.php
108 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 *
11 * Modified by impress-org on 23-January-2024 using Strauss.
12 * @see https://github.com/BrianHenryIE/strauss
13 */
14
15 namespace Give\Vendors\Symfony\Component\HttpFoundation\Tests;
16
17 use PHPUnit\Framework\TestCase;
18 use Give\Vendors\Symfony\Component\HttpFoundation\IpUtils;
19
20 class IpUtilsTest extends TestCase
21 {
22 /**
23 * @dataProvider getIpv4Data
24 */
25 public function testIpv4($matches, $remoteAddr, $cidr)
26 {
27 $this->assertSame($matches, IpUtils::checkIp($remoteAddr, $cidr));
28 }
29
30 public function getIpv4Data()
31 {
32 return [
33 [true, '192.168.1.1', '192.168.1.1'],
34 [true, '192.168.1.1', '192.168.1.1/1'],
35 [true, '192.168.1.1', '192.168.1.0/24'],
36 [false, '192.168.1.1', '1.2.3.4/1'],
37 [false, '192.168.1.1', '192.168.1.1/33'], // invalid subnet
38 [true, '192.168.1.1', ['1.2.3.4/1', '192.168.1.0/24']],
39 [true, '192.168.1.1', ['192.168.1.0/24', '1.2.3.4/1']],
40 [false, '192.168.1.1', ['1.2.3.4/1', '4.3.2.1/1']],
41 [true, '1.2.3.4', '0.0.0.0/0'],
42 [true, '1.2.3.4', '192.168.1.0/0'],
43 [false, '1.2.3.4', '256.256.256/0'], // invalid CIDR notation
44 [false, 'an_invalid_ip', '192.168.1.0/24'],
45 ];
46 }
47
48 /**
49 * @dataProvider getIpv6Data
50 */
51 public function testIpv6($matches, $remoteAddr, $cidr)
52 {
53 if (!\defined('AF_INET6')) {
54 $this->markTestSkipped('Only works when PHP is compiled without the option "disable-ipv6".');
55 }
56
57 $this->assertSame($matches, IpUtils::checkIp($remoteAddr, $cidr));
58 }
59
60 public function getIpv6Data()
61 {
62 return [
63 [true, '2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65'],
64 [false, '2a00:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65'],
65 [false, '2a01:198:603:0:396e:4789:8e99:890f', '::1'],
66 [true, '0:0:0:0:0:0:0:1', '::1'],
67 [false, '0:0:603:0:396e:4789:8e99:0001', '::1'],
68 [true, '0:0:603:0:396e:4789:8e99:0001', '::/0'],
69 [true, '0:0:603:0:396e:4789:8e99:0001', '2a01:198:603:0::/0'],
70 [true, '2a01:198:603:0:396e:4789:8e99:890f', ['::1', '2a01:198:603:0::/65']],
71 [true, '2a01:198:603:0:396e:4789:8e99:890f', ['2a01:198:603:0::/65', '::1']],
72 [false, '2a01:198:603:0:396e:4789:8e99:890f', ['::1', '1a01:198:603:0::/65']],
73 [false, '}__test|O:21:&quot;JDatabaseDriverMysqli&quot;:3:{s:2', '::1'],
74 [false, '2a01:198:603:0:396e:4789:8e99:890f', 'unknown'],
75 ];
76 }
77
78 /**
79 * @requires extension sockets
80 */
81 public function testAnIpv6WithOptionDisabledIpv6()
82 {
83 $this->expectException('RuntimeException');
84 if (\defined('AF_INET6')) {
85 $this->markTestSkipped('Only works when PHP is compiled with the option "disable-ipv6".');
86 }
87
88 IpUtils::checkIp('2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65');
89 }
90
91 /**
92 * @dataProvider invalidIpAddressData
93 */
94 public function testInvalidIpAddressesDoNotMatch($requestIp, $proxyIp)
95 {
96 $this->assertFalse(IpUtils::checkIp4($requestIp, $proxyIp));
97 }
98
99 public function invalidIpAddressData()
100 {
101 return [
102 'invalid proxy wildcard' => ['192.168.20.13', '*'],
103 'invalid proxy missing netmask' => ['192.168.20.13', '0.0.0.0'],
104 'invalid request IP with invalid proxy wildcard' => ['0.0.0.0', '*'],
105 ];
106 }
107 }
108