unique IP filter list

This commit is contained in:
Stefan Kalscheuer 2021-05-25 12:08:00 +02:00
parent da6cde00cf
commit 633da4086d
Signed by: stefan
GPG Key ID: 3887EC2A53B55430
2 changed files with 25 additions and 20 deletions

View File

@ -657,7 +657,9 @@ class StatifyBlacklist_Settings extends StatifyBlacklist {
* @since 1.7.0 moved from StatifyBlacklist_Admin to StatifyBlacklist_Settings. * @since 1.7.0 moved from StatifyBlacklist_Admin to StatifyBlacklist_Settings.
*/ */
private static function sanitize_ips( $ips ) { private static function sanitize_ips( $ips ) {
return array_filter( return array_values(
array_unique(
array_filter(
array_map( 'strtolower', $ips ), array_map( 'strtolower', $ips ),
function ( $ip ) { function ( $ip ) {
return preg_match( return preg_match(
@ -675,6 +677,8 @@ class StatifyBlacklist_Settings extends StatifyBlacklist {
$ip $ip
); );
} }
)
)
); );
} }

View File

@ -151,7 +151,7 @@ class StatifyBlacklist_Settings_Test extends PHPUnit\Framework\TestCase {
), ),
'ip' => array( 'ip' => array(
'active' => '1', 'active' => '1',
'blacklist' => "127.0.0.1/8\r\nthisisnotanip", 'blacklist' => "127.0.0.1/8\r\nthisisnotanip\r\n127.0.0.1/8",
), ),
'ua' => array( 'ua' => array(
'blacklist' => 'MyBot/1.23', 'blacklist' => 'MyBot/1.23',
@ -240,6 +240,7 @@ class StatifyBlacklist_Settings_Test extends PHPUnit\Framework\TestCase {
'2001:db8:a0b:12f0::1/128', '2001:db8:a0b:12f0::1/128',
'2001:DB8:A0B:12F0::/64', '2001:DB8:A0B:12F0::/64',
'fe80::7645:6de2:ff:1', 'fe80::7645:6de2:ff:1',
'2001:db8:a0b:12f0::',
'::ffff:192.0.2.123', '::ffff:192.0.2.123',
); );
$invalid = array( $invalid = array(
@ -266,7 +267,7 @@ class StatifyBlacklist_Settings_Test extends PHPUnit\Framework\TestCase {
'fe80::7645:6de2:ff:1', 'fe80::7645:6de2:ff:1',
'::ffff:192.0.2.123', '::ffff:192.0.2.123',
), ),
array_values( $result ) $result
); );
} }