Plugin Directory

Changeset 1458957


Ignore:
Timestamp:
07/22/2016 12:45:20 PM (10 years ago)
Author:
hqpeak
Message:

Choose what rules to include into blocking

Location:
pike-firewall/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pike-firewall/trunk/pikefirewall.php

    r1444746 r1458957  
    44     * Plugin URI: http://pike.hqpeak.com
    55     * Description: Block Tor, Proxy, Cloud/Hosting/VPN, Country originating traffic e.g. anonymous/fraudelent traffic, IDS for wordpress and crawlers verification/monitoring
    6      * Version: 1.2.0
     6     * Version: 1.2.1
    77     * Author: HQPeak
    88     * Author URI: http://hqpeak.com
     
    3636    $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : "";
    3737    $default_proxy = isset($pike_firewall_options['default_proxy']) ? $pike_firewall_options['default_proxy'] : "";
     38    $default_range = isset($pike_firewall_options['default_range']) ? $pike_firewall_options['default_range'] : "";
     39    $default_crawlers = isset($pike_firewall_options['default_crawlers']) ? $pike_firewall_options['default_crawlers'] : "";
     40   
     41    $default_tor_check = isset($pike_firewall_options['default_tor_check']) ? $pike_firewall_options['default_tor_check'] : array("default_tor_check"=>array());
     42    $default_proxy_check = isset($pike_firewall_options['default_proxy_check']) ? $pike_firewall_options['default_proxy_check'] : array("default_proxy_check"=>array());
     43    $default_range_check = isset($pike_firewall_options['default_range_check']) ? $pike_firewall_options['default_range_check'] : array("default_range_check"=>array());
     44    $default_crawlers_check = isset($pike_firewall_options['default_crawlers_check']) ? $pike_firewall_options['default_crawlers_check'] : array("default_crawlers_check"=>array());
     45   
    3846    $services_update_time = isset($pike_firewall_options['services_update_time']) ? $pike_firewall_options['services_update_time'] : time();
    3947    $crawlers_update_time = isset($pike_firewall_options['crawlers_update_time']) ? $pike_firewall_options['crawlers_update_time'] : time();
     
    505513        }
    506514   
    507         global $wpdb, $pike_firewall_options, $cron_check, $captcha_check, $checkbox_options, $msg, $stealth_mode, $intrusion_options, $crawler_check, $crawler_analyze;
     515        global $wpdb, $pike_firewall_options, $cron_check, $captcha_check, $checkbox_options, $msg, $stealth_mode, $intrusion_options, $crawler_check, $crawler_analyze, $default_tor_check, $default_proxy_check, $default_range_check, $default_crawlers_check;
    508516       
    509517        $active_tab = 'main';
     
    511519            $active_tab = $_GET['tab'];
    512520        }
    513    
     521
    514522        ob_start(); ?>
    515523            <div class="wrap">
     
    529537                        <label><big><strong>Update Tor block list:</strong></big></label><br />
    530538                        <label><small>Default is free version of the tor exit list service. During beta period is equal to premium!</small></label><br />
    531                         <input type="text" name="pikefirewallsettings[default_tor]" value="<?php echo esc_url($pike_firewall_options['default_tor']); ?>" size="40" />
     539                        <input type="text" name="pikefirewallsettings[default_tor]" value="<?php echo esc_url($pike_firewall_options['default_tor']); ?>" size="40" />&nbsp;&nbsp;&nbsp;&nbsp;
     540                        Enable/Disable <input type="checkbox" name="pikefirewallsettings[default_tor_check][]" value="on" <?php echo (in_array('on', $default_tor_check)) ? 'checked' : '' ?> />
    532541                    </p>
    533542                    <p>     
    534543                        <label><big><strong>Proxy list:</strong></big></label><br />
    535544                        <label><small>Default is free version of the proxy list service. During beta period is equal to premium!</small></label><br />
    536                         <input type="text" name="pikefirewallsettings[default_proxy]" value="<?php echo esc_url($pike_firewall_options['default_proxy']); ?>" size="40" />
     545                        <input type="text" name="pikefirewallsettings[default_proxy]" value="<?php echo esc_url($pike_firewall_options['default_proxy']); ?>" size="40" />&nbsp;&nbsp;&nbsp;&nbsp;
     546                        Enable/Disable <input type="checkbox" name="pikefirewallsettings[default_range_check][]" value="on" <?php echo (in_array('on', $default_proxy_check)) ? 'checked' : '' ?> />
     547                    </p>
     548                    <p>     
     549                        <label><big><strong>Range list:</strong></big></label><br />
     550                        <label><small>Default is free version of the range list service. During beta period is equal to premium!</small></label><br />
     551                        <input type="text" name="pikefirewallsettings[default_range]" value="<?php echo esc_url($pike_firewall_options['default_range']); ?>" size="40" />&nbsp;&nbsp;&nbsp;&nbsp;
     552                        Enable/Disable <input type="checkbox" name="pikefirewallsettings[default_proxy_check][]" value="on" <?php echo (in_array('on', $default_range_check)) ? 'checked' : '' ?> />
     553                    </p>
     554                    <p>     
     555                        <label><big><strong>Crawlers list:</strong></big></label><br />
     556                        <label><small>Default is free version of the crawlers list service. During beta period is equal to premium!</small></label><br />
     557                        <input type="text" name="pikefirewallsettings[default_crawlers]" value="<?php echo esc_url($pike_firewall_options['default_crawlers']); ?>" size="40" />&nbsp;&nbsp;&nbsp;&nbsp;
     558                        Enable/Disable <input type="checkbox" name="pikefirewallsettings[default_crawlers_check][]" value="on" <?php echo (in_array('on', $default_crawlers_check)) ? 'checked' : '' ?> />
    537559                    </p>
    538560                    <p>     
     
    789811</html>";
    790812           
    791             $defaults = array("default_tor"=>"http://pike.hqpeak.com/api/tor", "deny"=>"", "check"=>array("visit"), "services_update_time"=>time(), "custom_msg" => array("enabled"=>"enable", "text"=>"$msg_html"), "stealth_mode" => array("Off"), "captcha_check" => array("Off"), "cron_check" => array("Off"), "default_proxy"=>"http://pike.hqpeak.com/api/proxy", "intrusion"=>array(), "crawler_check"=> array("Off"), "crawler_analyze"=>array(), "crawlers_update_time"=>time());
     813            $defaults = array("default_tor"=>"http://pike.hqpeak.com/api/tor", "deny"=>"", "check"=>array("visit"), "services_update_time"=>time(), "custom_msg" => array("enabled"=>"enable", "text"=>"$msg_html"), "stealth_mode" => array("Off"), "captcha_check" => array("Off"), "cron_check" => array("Off"), "default_proxy"=>"http://pike.hqpeak.com/api/proxy", "intrusion"=>array(), "crawler_check"=> array("Off"), "crawler_analyze"=>array(), "crawlers_update_time"=>time(), "default_range"=>"http://pike.hqpeak.com/api/range", "default_crawlers"=>"http://pike.hqpeak.com/api/bot", "default_tor_check" => array("on"), "default_proxy_check" => array("on"), "default_range_check" => array("on"), "default_crawlers_check" => array("on"));
    792814            $settings = wp_parse_args(get_option('pikefirewallsettings', $defaults), $defaults);
    793815            update_option('pikefirewallsettings', $settings);
     
    796818            $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : "";
    797819            $default_proxy = isset($pike_firewall_options['default_proxy']) ? $pike_firewall_options['default_proxy'] : "";
     820            $default_range = isset($pike_firewall_options['default_range']) ? $pike_firewall_options['default_range'] : "";
     821            $default_crawlers = isset($pike_firewall_options['default_crawlers']) ? $pike_firewall_options['default_crawlers'] : "";
    798822           
    799823            $sql = "CREATE TABLE $table_name(ip INT(11) UNSIGNED NOT NULL, PRIMARY KEY (ip))";
     
    852876            // IP Range
    853877//          $ip_arr = json_decode(file_get_contents(WP_PLUGIN_DIR.'/pike-firewall/pike-firewall-iprange.json'), true);
    854             $ip_arr = pike_firewall_get_range("http://pike.hqpeak.com/api/range");
     878            $ip_arr = pike_firewall_get_range($default_range);
    855879            $ip_long = pike_firewall_to_long_iprange($ip_arr);
    856880            if (is_array($ip_long) && sizeof($ip_long)>0) {
     
    859883           
    860884            // Crawler Range
    861             $ip_arr_crawl_range = pike_firewall_get_crawl_range("http://pike.hqpeak.com/api/bot");
     885            $ip_arr_crawl_range = pike_firewall_get_crawl_range($default_crawlers);
    862886            pike_firewall_fill_table_crawl_range($ip_arr_crawl_range);
    863887        }
     
    11771201        $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : "";
    11781202        $default_proxy = isset($pike_firewall_options['default_proxy']) ? $pike_firewall_options['default_proxy'] : "";
     1203        $default_range = isset($pike_firewall_options['default_range']) ? $pike_firewall_options['default_range'] : "";
     1204        $default_crawlers = isset($pike_firewall_options['default_crawlers']) ? $pike_firewall_options['default_crawlers'] : "";
     1205       
     1206        $default_tor_check = isset($pike_firewall_options['default_tor_check'])? $pike_firewall_options['default_tor_check']:array("default_tor_check"=>array());
     1207        $default_proxy_check = isset($pike_firewall_options['default_proxy_check'])? $pike_firewall_options['default_proxy_check']:array("default_proxy_check"=>array());
     1208        $default_range_check = isset($pike_firewall_options['default_range_check'])? $pike_firewall_options['default_range_check']:array("default_range_check"=>array());
     1209        $default_crawlers_check = isset($pike_firewall_options['default_crawlers_check'])? $pike_firewall_options['default_crawlers_check']:array("default_crawlers_check"=>array());
     1210       
    11791211        $services_update_time = isset($pike_firewall_options['services_update_time']) ? $pike_firewall_options['services_update_time'] : time();
    11801212        $crawlers_udpate_time = isset($pike_firewall_options['crawlers_update_time']) ? $pike_firewall_options['crawlers_update_time'] : time();
     
    11981230                $wpdb->get_var("SHOW TABLES LIKE '$table_name_crawl_range'")== $table_name_crawl_range ) {
    11991231
    1200             if ( $diff >= 1800 ) {
    1201                 $ip_arr_crawl_range = pike_firewall_get_crawl_range("http://pike.hqpeak.com/api/bot");
    1202                 $sql = "DELETE FROM $table_name";
     1232            if ( $default_crawlers == 'http://pike.hqpeak.com/api/bot' && $diff_crawlers >= strtotime('30 days', 0) && isset($default_crawlers_check[0]) && $default_crawlers_check[0] == 'on' ) {
     1233                $ip_arr_crawl_range = pike_firewall_get_crawl_range($default_crawlers);
     1234                $sql = "DELETE FROM $table_name_crawl_range";
    12031235                $wpdb->query($sql);
    12041236                pike_firewall_fill_table_crawl_range($ip_arr_crawl_range);
     
    12071239            }
    12081240           
    1209             if ( $diff_crawlers >= strtotime('30 days', 0) ) {
    1210                 $ip_arr = pike_firewall_get_range("http://pike.hqpeak.com/api/range");
     1241            if ( $default_range == 'http://pike.hqpeak.com/api/range' && $diff >= 1800 && isset($default_range_check[0]) && $default_range_check[0] == 'on' ) {
     1242                $ip_arr = pike_firewall_get_range($default_range);
    12111243                $ip_long = pike_firewall_to_long_iprange($ip_arr);
    12121244                $sql = "DELETE FROM $table_name_iprange";
     
    12191251            }
    12201252
    1221             if ( ($default_tor == 'http://pike.hqpeak.com/api/tor' && $diff >= 1800) ||
    1222                 (preg_match('/^http(s)?:\/\/(w{3}\.)?pike.hqpeak.com(\/.+)+\?id=[0-9a-zA-Z]{40}&format=json/', $default_tor) && $diff >= 400))
     1253            if ( isset($default_tor_check[0]) && $default_tor_check[0] == 'on' &&
     1254                (($default_tor == 'http://pike.hqpeak.com/api/tor' && $diff >= 1800) ||
     1255                (preg_match('/^http(s)?:\/\/(w{3}\.)?pike.hqpeak.com(\/.+)+\?id=[0-9a-zA-Z]{40}&format=json/', $default_tor) && $diff >= 400)) )
    12231256            {
    12241257                $ip_arr_tor = pike_firewall_get_ip($default_tor);
    12251258                $ip_long_tor = pike_firewall_to_long($ip_arr_tor);
    12261259            }
    1227            
    1228             if ( $default_proxy == 'http://pike.hqpeak.com/api/proxy' && $diff >= 1800)
     1260
     1261            if ( isset($default_proxy_check[0]) && $default_proxy_check[0] == 'on' && $default_proxy == 'http://pike.hqpeak.com/api/proxy' && $diff >= 1800)
    12291262            {
    12301263                $ip_arr_proxy = pike_firewall_get_proxy($default_proxy);
     
    12321265            }
    12331266           
    1234             if (is_array($ip_long_tor) && is_array($ip_long_proxy)) {
     1267            if ( is_array($ip_long_tor) && is_array($ip_long_proxy) && sizeof($ip_long_tor)>0 && sizeof($ip_long_proxy)>0 ) {
    12351268                $ip_arr_merged = append_arrays($ip_long_tor, $ip_long_proxy);
    12361269                if ($ip_arr_merged != 0) {
     
    17091742        $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : "";
    17101743        $default_proxy = isset($pike_firewall_options['default_proxy']) ? $pike_firewall_options['default_proxy'] : "";
     1744        $default_range = isset($pike_firewall_options['default_range']) ? $pike_firewall_options['default_range'] : "";
     1745        $default_crawlers = isset($pike_firewall_options['default_crawlers']) ? $pike_firewall_options['default_crawlers'] : "";
     1746       
     1747        $default_tor_check = isset($pike_firewall_options['default_tor_check'])? $pike_firewall_options['default_tor_check']:array("default_tor_check"=>array());
     1748        $default_proxy_check = isset($pike_firewall_options['default_proxy_check'])? $pike_firewall_options['default_proxy_check']:array("default_proxy_check"=>array());
     1749        $default_range_check = isset($pike_firewall_options['default_range_check'])? $pike_firewall_options['default_range_check']:array("default_range_check"=>array());
     1750        $default_crawlers_check = isset($pike_firewall_options['default_crawlers_check'])? $pike_firewall_options['default_crawlers_check']:array("default_crawlers_check"=>array());
    17111751       
    17121752        $check = false;
     
    17211761                $wpdb->get_var("SHOW TABLES LIKE '$table_name_iprange'") == $table_name_iprange &&
    17221762                $wpdb->get_var("SHOW TABLES LIKE '$table_name_crawl_range'") == $table_name_crawl_range ) {
    1723                    
    1724             $ip_arr_crawl_range = pike_firewall_get_crawl_range("http://pike.hqpeak.com/api/bot");
    1725             $sql = "DELETE FROM $table_name";
    1726             $wpdb->query($sql);
    1727             pike_firewall_fill_table_crawl_range($ip_arr_crawl_range);
    1728            
    1729             $ip_arr = pike_firewall_get_range("http://pike.hqpeak.com/api/range");
    1730             $ip_long = pike_firewall_to_long_iprange($ip_arr);
    1731             $sql = "DELETE FROM $table_name_iprange";
    1732             $wpdb->query($sql);
    1733             if (is_array($ip_long) && sizeof($ip_long)>0) {
    1734                 pike_firewall_fill_table_iprange($ip_long);
     1763           
     1764            if ($default_crawlers == 'http://pike.hqpeak.com/api/bot' && isset($default_crawlers_check[0]) && $default_crawlers_check[0] == 'on') {
     1765                $ip_arr_crawl_range = pike_firewall_get_crawl_range($default_crawlers);
     1766                $sql = "DELETE FROM $table_name_crawl_range";
     1767                $wpdb->query($sql);
     1768                pike_firewall_fill_table_crawl_range($ip_arr_crawl_range);
     1769            }
     1770           
     1771            if ($default_range == 'http://pike.hqpeak.com/api/range' && isset($default_range_check[0]) && $default_range_check[0] == 'on') {
     1772                $ip_arr = pike_firewall_get_range($default_range);
     1773                $ip_long = pike_firewall_to_long_iprange($ip_arr);
     1774                $sql = "DELETE FROM $table_name_iprange";
     1775                $wpdb->query($sql);
     1776                if (is_array($ip_long) && sizeof($ip_long)>0) {
     1777                    pike_firewall_fill_table_iprange($ip_long);
     1778                }
    17351779            }
    17361780                       
    1737             if ( $default_tor == 'http://pike.hqpeak.com/api/tor' ||
    1738                  preg_match('/^http(s)?:\/\/(w{3}\.)?pike.hqpeak.com(\/.+)+\?id=[0-9a-zA-Z]{40}&format=json/', $default_tor) )
     1781            if ( isset($default_tor_check[0]) && $default_tor_check[0] == 'on' &&
     1782                 ($default_tor == 'http://pike.hqpeak.com/api/tor' ||
     1783                 preg_match('/^http(s)?:\/\/(w{3}\.)?pike.hqpeak.com(\/.+)+\?id=[0-9a-zA-Z]{40}&format=json/', $default_tor)) )
    17391784            {
    17401785                $ip_arr_tor = pike_firewall_get_ip($default_tor);
     
    17421787            }
    17431788           
    1744             if ( $default_proxy == 'http://pike.hqpeak.com/api/proxy' )
     1789            if ( isset($default_proxy_check[0]) && $default_proxy_check[0] == 'on' && $default_proxy == 'http://pike.hqpeak.com/api/proxy' )
    17451790            {
    17461791                $ip_arr_proxy = pike_firewall_get_proxy($default_proxy);
     
    17481793            }
    17491794           
    1750             if (is_array($ip_long_tor) && is_array($ip_long_proxy)) {
     1795            if ( is_array($ip_long_tor) && is_array($ip_long_proxy) && sizeof($ip_long_tor)>0 && sizeof($ip_long_proxy)>0 ) {
    17511796                $ip_arr_merged = append_arrays($ip_long_tor, $ip_long_proxy);
    17521797                if ($ip_arr_merged != 0) {
  • pike-firewall/trunk/readme.txt

    r1444751 r1458957  
    55Requires at least: 3.8.1
    66Tested up to: 4.5.2
    7 Stable tag: 1.2.0
     7Stable tag: 1.2.1
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9292Google, yahoo, bing and yandex crawlers verification, logging their behaviour and blocking fake crawlers pretending to be valid.
    9393Extended user agent blocking list
     94= 1.2.1 =
     95Checkboxes that let you choose which rules to include/use for blocking / monitoring ( Tor, Proxy, Datacenters )
    9496
    9597== Upgrade Notice ==
     
    101103= 1.2 =
    102104Crawlers support and extending IDS
     105= 1.2.1 =
     106Checkboxes that let you choose which rules to include/use for blocking / monitoring ( Tor, Proxy, Datacenters )
     107
Note: See TracChangeset for help on using the changeset viewer.