From 152a800a4ab744fe3ca19c78f084b13073c377ed Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Sun, 4 Jun 2017 21:20:40 +0200 Subject: [PATCH] #8 Target filter implemented --- README.md | 4 + assets/screenshot-1.png | Bin 47717 -> 67508 bytes inc/statifyblacklist.class.php | 37 +++++- inc/statifyblacklist_admin.class.php | 71 ++++++++---- test/StatifyBlacklistTest.php | 114 ++++++++++++++++++- views/settings_page.php | 163 ++++++++++++++++++++------- 6 files changed, 325 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index d07f084..da835d0 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,9 @@ This plugin adds customizable blacklist to Statify to allow blocking of referer #### Referer Blacklist #### Add a list of domains (for simplicity only second-level, e.g. _example.com_ which blocks _everything.example.com_). +#### Target Blacklist #### +Add a list of target pages (e.g. _/test/page/_, _/?page_id=123_) that will be excluded from tracking. + #### IP Blacklist #### Add a list of IP addresses or subnets (e.g. _192.0.2.123_, _198.51.100.0/24_, _2001:db8:a0b:12f0::/64_). @@ -74,6 +77,7 @@ Because of this, an IP blacklist can only be applied while processing the reques ### 1.4.0 / work in progress ### * IP blacklist implemented (#7) +* Target page blacklist implemented (#8) ### 1.3.1 / 09.12.2016 ### * Continue filtering if no filter applies (#6) diff --git a/assets/screenshot-1.png b/assets/screenshot-1.png index 2b38ecf80ebcb61f9de73134fd664ed277842d63..6147f4c995d2e875c92fea26dc8a03358813f055 100644 GIT binary patch literal 67508 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 GLjD&3Dkzfx literal 47717 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⩔mJ4Rp=@rP0T;JfVh(WUi^Y?w&4g*}_6 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 O3h$&9q>5h~`u#5z@aSs* diff --git a/inc/statifyblacklist.class.php b/inc/statifyblacklist.class.php index 197d846..05da829 100644 --- a/inc/statifyblacklist.class.php +++ b/inc/statifyblacklist.class.php @@ -85,7 +85,7 @@ class StatifyBlacklist { /* CronJob to clean up database */ if ( defined( 'DOING_CRON' ) && DOING_CRON ) { - if ( self::$_options['cron_referer'] == 1 ) { + if ( self::$_options['cron_referer'] == 1 || self::$_options['cron_target'] == 1 ) { add_action( 'statify_cleanup', array( 'StatifyBlacklist_Admin', 'cleanup_database' ) ); } } @@ -119,6 +119,10 @@ class StatifyBlacklist { 'cron_referer' => 0, 'referer' => array(), 'referer_regexp' => 0, + 'active_target' => 0, + 'cron_target' => 0, + 'target' => array(), + 'target_regexp' => 0, 'active_ip' => 0, 'ip' => array(), 'version' => self::VERSION_MAIN @@ -130,8 +134,8 @@ class StatifyBlacklist { * * @return TRUE if referer matches blacklist. * - * @since 1.0.0 - * @changed 1.4.0 + * @since 1.0.0 + * @since 1.4.0 Target and IP blacklist */ public static function apply_blacklist_filter() { /* Referer blacklist */ @@ -163,6 +167,33 @@ class StatifyBlacklist { } } + /* Target blacklist (since 1.4.0) */ + if ( isset( self::$_options['active_target'] ) && self::$_options['active_target'] != 0 ) { + /* Regular Expression filtering since 1.3.0 */ + if ( isset( self::$_options['target_regexp'] ) && self::$_options['target_regexp'] > 0 ) { + /* Get full referer string */ + $target = ( isset( $_SERVER['REQUEST_URI'] ) ? wp_unslash( $_SERVER['REQUEST_URI'] ) : '/' ); + /* Merge given regular expressions into one */ + $regexp = '/' . implode( "|", array_keys( self::$_options['target'] ) ) . '/'; + if ( self::$_options['target_regexp'] == 2 ) { + $regexp .= 'i'; + } + + /* Check blacklist (return NULL to continue filtering) */ + + return ( preg_match( $regexp, $target ) === 1 ) ? true : null; + } else { + /* Extract target page */ + $target = ( isset( $_SERVER['REQUEST_URI'] ) ? wp_unslash( $_SERVER['REQUEST_URI'] ) : '/' ); + /* Get blacklist */ + $blacklist = self::$_options['target']; + /* Check blacklist */ + if ( isset( $blacklist[ $target ] ) ) { + return true; + } + } + } + /* IP blacklist (since 1.4.0) */ if ( isset ( self::$_options['active_ip'] ) && self::$_options['active_ip'] != 0 ) { if ( ( $ip = self::getIP() ) !== false ) { diff --git a/inc/statifyblacklist_admin.class.php b/inc/statifyblacklist_admin.class.php index bd9236c..541478d 100644 --- a/inc/statifyblacklist_admin.class.php +++ b/inc/statifyblacklist_admin.class.php @@ -131,26 +131,57 @@ class StatifyBlacklist_Admin extends StatifyBlacklist { die( __( 'Are you sure you want to do this?' ) ); } - global $wpdb; - - if ( isset( self::$_options['referer_regexp'] ) && self::$_options['referer_regexp'] > 0 ) { - /* Merge given regular expressions into one */ - $refererRegexp = implode( "|", array_keys( self::$_options['referer'] ) ); + if ( defined( 'DOING_CRON' ) && DOING_CRON ) { + $cleanRef = ( self::$_options['cron_referer'] == 1 ); + $cleanTrg = ( self::$_options['cron_target'] == 1 ); } else { - /* Sanitize URLs */ - $referer = self::sanitizeURLs( self::$_options['referer'] ); - - /* Build filter regexp */ - $refererRegexp = str_replace( '.', '\.', implode( '|', array_flip( $referer ) ) ); + $cleanRef = true; + $cleanTrg = true; } - if ( ! empty( $refererRegexp ) ) { + + if ( $cleanRef ) { + if ( isset( self::$_options['referer_regexp'] ) && self::$_options['referer_regexp'] > 0 ) { + /* Merge given regular expressions into one */ + $refererRegexp = implode( "|", array_keys( self::$_options['referer'] ) ); + } else { + /* Sanitize URLs */ + $referer = self::sanitizeURLs( self::$_options['referer'] ); + + /* Build filter regexp */ + $refererRegexp = str_replace( '.', '\.', implode( '|', array_flip( $referer ) ) ); + } + } + + if ( $cleanTrg ) { + if ( isset( self::$_options['target_regexp'] ) && self::$_options['target_regexp'] > 0 ) { + /* Merge given regular expressions into one */ + $targetRegexp = implode( "|", array_keys( self::$_options['target'] ) ); + } else { + /* Build filter regexp */ + $targetRegexp = str_replace( '.', '\.', implode( '|', array_flip( self::$_options['target'] ) ) ); + } + } + + + if ( ! empty( $refererRegexp ) || ! empty( $targetRegexp ) ) { + global $wpdb; + /* Execute filter on database */ - $wpdb->query( - $wpdb->prepare( "DELETE FROM `$wpdb->statify` WHERE " - . ( ( self::$_options['referer_regexp'] == 1 ) ? " BINARY " : "" ) - . "referrer REGEXP %s", $refererRegexp ) - ); + if ( ! empty( $refererRegexp ) ) { + $wpdb->query( + $wpdb->prepare( "DELETE FROM `$wpdb->statify` WHERE " + . ( ( self::$_options['referer_regexp'] == 1 ) ? " BINARY " : "" ) + . "referrer REGEXP %s", $refererRegexp ) + ); + } + if ( ! empty( $targetRegexp ) ) { + $wpdb->query( + $wpdb->prepare( "DELETE FROM `$wpdb->statify` WHERE " + . ( ( self::$_options['target_regexp'] == 1 ) ? " BINARY " : "" ) + . "target REGEXP %s", $targetRegexp ) + ); + } /* Optimize DB */ $wpdb->query( "OPTIMIZE TABLE `$wpdb->statify`" ); @@ -195,10 +226,10 @@ class StatifyBlacklist_Admin extends StatifyBlacklist { */ private static function sanitizeIPs( $ips ) { return array_filter( $ips, function ( $ip ) { - return preg_match('/^((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])'. - '(\/([0-9]|[1-2][0-9]|3[0-2]))?$/', $ip) || - preg_match('/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))'. - '(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$/', $ip); + return preg_match( '/^((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])' . + '(\/([0-9]|[1-2][0-9]|3[0-2]))?$/', $ip ) || + preg_match( '/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))' . + '(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$/', $ip ); } ); } } diff --git a/test/StatifyBlacklistTest.php b/test/StatifyBlacklistTest.php index a8c1150..39e3a41 100644 --- a/test/StatifyBlacklistTest.php +++ b/test/StatifyBlacklistTest.php @@ -132,7 +132,7 @@ class StatifyBlacklistTest extends PHPUnit_Framework_TestCase { $optionsUpdated = get_option( 'statify-blacklist' ); /* Verify size against default options (no junk left) */ - $this->assertEquals( 7, sizeof( $optionsUpdated ) ); + $this->assertEquals( 11, sizeof( $optionsUpdated ) ); /* Verify that original attributes are unchanged */ $this->assertEquals( $options13['active_referer'], $optionsUpdated['active_referer'] ); @@ -294,6 +294,114 @@ class StatifyBlacklistTest extends PHPUnit_Framework_TestCase { $_SERVER['HTTP_X_REAL_IP'] = '2001:db8:a0b:12f0:0::1'; $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); } + + /** + * Test simple target filter. + */ + public function testTargetFilter() { + /* Prepare Options: 2 blacklisted domains, disabled */ + StatifyBlacklist::$_options = array( + 'active_referer' => 0, + 'cron_referer' => 0, + 'referer' => array( + 'example.com' => 0, + 'example.net' => 1 + ), + 'referer_regexp' => 0, + 'active_target' => 0, + 'cron_target' => 0, + 'target' => array( + '/excluded/page/' => 0, + '/?page_id=3' => 1 + ), + 'target_regexp' => 0, + 'active_ip' => 0, + 'ip' => array(), + 'version' => StatifyBlacklist::VERSION_MAIN + ); + + /* No multisite */ + StatifyBlacklist::$multisite = false; + + /* Empty target */ + unset( $_SERVER['REQUEST_URI'] ); + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + /* Non-blacklisted targets */ + $_SERVER['REQUEST_URI'] = ''; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/?page_id=1'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + /* Blacklisted referer */ + $_SERVER['REQUEST_URI'] = '/excluded/page/'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/?page_id=3'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + + /* Activate filter and run tests again */ + StatifyBlacklist::$_options['active_target'] = 1; + + unset( $_SERVER['REQUEST_URI'] ); + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + + $_SERVER['REQUEST_URI'] = ''; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/?page_id=1'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + + $_SERVER['REQUEST_URI'] = '/excluded/page/'; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/?page_id=3'; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + $_SERVER['REQUEST_URI'] = '/?page_id=3'; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + } + + /** + * Test target filter using regular expressions. + */ + public function testTargetRegexFilter() { + /* Prepare Options: 2 regular expressions */ + StatifyBlacklist::$_options = array( + 'active_referer' => 1, + 'cron_referer' => 0, + 'referer' => array( + 'example.[a-z]+' => 0, + 'test' => 1 + ), + 'referer_regexp' => 1, + 'version' => 1.3 + ); + + /* No multisite */ + StatifyBlacklist::$multisite = false; + + /* No referer */ + unset( $_SERVER['HTTP_REFERER'] ); + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + /* Non-blacklisted referer */ + $_SERVER['HTTP_REFERER'] = 'http://not.evil'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + /* Blacklisted referer */ + $_SERVER['HTTP_REFERER'] = 'http://example.com'; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + /* Blacklisted referer with path */ + $_SERVER['HTTP_REFERER'] = 'http://foobar.net/test/me'; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + /* Matching both */ + $_SERVER['HTTP_REFERER'] = 'http://example.net/test/me'; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + /* Mathinc with wrong case */ + $_SERVER['HTTP_REFERER'] = 'http://eXaMpLe.NeT/tEsT/mE'; + $this->assertNull( StatifyBlacklist::apply_blacklist_filter() ); + + /* Set RegExp filter to case insensitive */ + StatifyBlacklist::$_options['referer_regexp'] = 2; + $this->assertTrue( StatifyBlacklist::apply_blacklist_filter() ); + } } /** @@ -346,3 +454,7 @@ function update_option( $option, $value, $autoload = null ) { global $mock_options; $mock_options[ $option ] = $value; } + +function wp_unslash ( $value ) { + return is_string( $value ) ? stripslashes( $value ) : $value; +} \ No newline at end of file diff --git a/views/settings_page.php b/views/settings_page.php index b1c1d67..8cdbe2a 100755 --- a/views/settings_page.php +++ b/views/settings_page.php @@ -24,6 +24,13 @@ if ( ! empty( $_POST['statifyblacklist'] ) ) { $referer = explode( "\r\n", $_POST['statifyblacklist']['referer'] ); } + /* Extract target array */ + if ( empty( trim( $_POST['statifyblacklist']['target'] ) ) ) { + $target = array(); + } else { + $target = explode( "\r\n", str_replace( '\\\\', '\\', $_POST['statifyblacklist']['target'] ) ); + } + /* Extract IP array */ if ( empty( trim( $_POST['statifyblacklist']['ip'] ) ) ) { $ip = array(); @@ -38,9 +45,13 @@ if ( ! empty( $_POST['statifyblacklist'] ) ) { 'cron_referer' => (int) @$_POST['statifyblacklist']['cron_referer'], 'referer' => array_flip( $referer ), 'referer_regexp' => (int) @$_POST['statifyblacklist']['referer_regexp'], - 'active_ip' => (int) @$_POST['statifyblacklist']['active_ip'], - 'ip' => $ip, - 'version' => StatifyBlacklist::VERSION_MAIN + 'active_target' => (int) @$_POST['statifyblacklist']['active_target'], + 'cron_target' => (int) @$_POST['statifyblacklist']['cron_target'], + 'target' => array_flip( $target ), + 'target_regexp' => (int) @$_POST['statifyblacklist']['target_regexp'], + 'active_ip' => (int) @$_POST['statifyblacklist']['active_ip'], + 'ip' => $ip, + 'version' => StatifyBlacklist::VERSION_MAIN ) ); @@ -52,81 +63,87 @@ if ( ! empty( $_POST['statifyblacklist'] ) ) { $statifyBlacklistPostWarning = sprintf( __( 'Some IPs are invalid : %s', 'statify-blacklist' ), implode( ', ', $statifyBlacklistUpdateResult['ip'] ) ); } } else { - $statifyBlacklistPostSuccess = __('Settings updated successfully.', 'statify-blacklist'); + $statifyBlacklistPostSuccess = __( 'Settings updated successfully.', 'statify-blacklist' ); } } } ?>
-

+

'; - esc_html( 'Statify plugin is not active.'); + esc_html( 'Statify plugin is not active.' ); print '

'; } if ( isset( $statifyBlacklistPostWarning ) ) { print '

' . esc_html( $statifyBlacklistPostWarning ); print '
'; - esc_html_e('Settings have not been saved yet.', 'statify-blacklist'); + esc_html_e( 'Settings have not been saved yet.', 'statify-blacklist' ); print '

'; } if ( isset( $statifyBlacklistPostSuccess ) ) { - print '

'. - esc_html( $statifyBlacklistPostSuccess ). - '

'; + print '

' . + esc_html( $statifyBlacklistPostSuccess ) . + '

'; } ?> -
+

+
+

+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+

    @@ -147,7 +227,10 @@ if ( ! empty( $_POST['statifyblacklist'] ) ) {
  • - () + + ( + ) +