Changeset 1458957
- Timestamp:
- 07/22/2016 12:45:20 PM (10 years ago)
- Location:
- pike-firewall/trunk
- Files:
-
- 2 edited
-
pikefirewall.php (modified) (18 diffs)
-
readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pike-firewall/trunk/pikefirewall.php
r1444746 r1458957 4 4 * Plugin URI: http://pike.hqpeak.com 5 5 * 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. 06 * Version: 1.2.1 7 7 * Author: HQPeak 8 8 * Author URI: http://hqpeak.com … … 36 36 $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : ""; 37 37 $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 38 46 $services_update_time = isset($pike_firewall_options['services_update_time']) ? $pike_firewall_options['services_update_time'] : time(); 39 47 $crawlers_update_time = isset($pike_firewall_options['crawlers_update_time']) ? $pike_firewall_options['crawlers_update_time'] : time(); … … 505 513 } 506 514 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; 508 516 509 517 $active_tab = 'main'; … … 511 519 $active_tab = $_GET['tab']; 512 520 } 513 521 514 522 ob_start(); ?> 515 523 <div class="wrap"> … … 529 537 <label><big><strong>Update Tor block list:</strong></big></label><br /> 530 538 <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" /> 540 Enable/Disable <input type="checkbox" name="pikefirewallsettings[default_tor_check][]" value="on" <?php echo (in_array('on', $default_tor_check)) ? 'checked' : '' ?> /> 532 541 </p> 533 542 <p> 534 543 <label><big><strong>Proxy list:</strong></big></label><br /> 535 544 <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" /> 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" /> 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" /> 558 Enable/Disable <input type="checkbox" name="pikefirewallsettings[default_crawlers_check][]" value="on" <?php echo (in_array('on', $default_crawlers_check)) ? 'checked' : '' ?> /> 537 559 </p> 538 560 <p> … … 789 811 </html>"; 790 812 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")); 792 814 $settings = wp_parse_args(get_option('pikefirewallsettings', $defaults), $defaults); 793 815 update_option('pikefirewallsettings', $settings); … … 796 818 $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : ""; 797 819 $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'] : ""; 798 822 799 823 $sql = "CREATE TABLE $table_name(ip INT(11) UNSIGNED NOT NULL, PRIMARY KEY (ip))"; … … 852 876 // IP Range 853 877 // $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); 855 879 $ip_long = pike_firewall_to_long_iprange($ip_arr); 856 880 if (is_array($ip_long) && sizeof($ip_long)>0) { … … 859 883 860 884 // 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); 862 886 pike_firewall_fill_table_crawl_range($ip_arr_crawl_range); 863 887 } … … 1177 1201 $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : ""; 1178 1202 $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 1179 1211 $services_update_time = isset($pike_firewall_options['services_update_time']) ? $pike_firewall_options['services_update_time'] : time(); 1180 1212 $crawlers_udpate_time = isset($pike_firewall_options['crawlers_update_time']) ? $pike_firewall_options['crawlers_update_time'] : time(); … … 1198 1230 $wpdb->get_var("SHOW TABLES LIKE '$table_name_crawl_range'")== $table_name_crawl_range ) { 1199 1231 1200 if ( $d iff >= 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"; 1203 1235 $wpdb->query($sql); 1204 1236 pike_firewall_fill_table_crawl_range($ip_arr_crawl_range); … … 1207 1239 } 1208 1240 1209 if ( $d iff_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); 1211 1243 $ip_long = pike_firewall_to_long_iprange($ip_arr); 1212 1244 $sql = "DELETE FROM $table_name_iprange"; … … 1219 1251 } 1220 1252 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)) ) 1223 1256 { 1224 1257 $ip_arr_tor = pike_firewall_get_ip($default_tor); 1225 1258 $ip_long_tor = pike_firewall_to_long($ip_arr_tor); 1226 1259 } 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) 1229 1262 { 1230 1263 $ip_arr_proxy = pike_firewall_get_proxy($default_proxy); … … 1232 1265 } 1233 1266 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 ) { 1235 1268 $ip_arr_merged = append_arrays($ip_long_tor, $ip_long_proxy); 1236 1269 if ($ip_arr_merged != 0) { … … 1709 1742 $default_tor = isset($pike_firewall_options['default_tor']) ? $pike_firewall_options['default_tor'] : ""; 1710 1743 $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()); 1711 1751 1712 1752 $check = false; … … 1721 1761 $wpdb->get_var("SHOW TABLES LIKE '$table_name_iprange'") == $table_name_iprange && 1722 1762 $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 } 1735 1779 } 1736 1780 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)) ) 1739 1784 { 1740 1785 $ip_arr_tor = pike_firewall_get_ip($default_tor); … … 1742 1787 } 1743 1788 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' ) 1745 1790 { 1746 1791 $ip_arr_proxy = pike_firewall_get_proxy($default_proxy); … … 1748 1793 } 1749 1794 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 ) { 1751 1796 $ip_arr_merged = append_arrays($ip_long_tor, $ip_long_proxy); 1752 1797 if ($ip_arr_merged != 0) { -
pike-firewall/trunk/readme.txt
r1444751 r1458957 5 5 Requires at least: 3.8.1 6 6 Tested up to: 4.5.2 7 Stable tag: 1.2. 07 Stable tag: 1.2.1 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 92 92 Google, yahoo, bing and yandex crawlers verification, logging their behaviour and blocking fake crawlers pretending to be valid. 93 93 Extended user agent blocking list 94 = 1.2.1 = 95 Checkboxes that let you choose which rules to include/use for blocking / monitoring ( Tor, Proxy, Datacenters ) 94 96 95 97 == Upgrade Notice == … … 101 103 = 1.2 = 102 104 Crawlers support and extending IDS 105 = 1.2.1 = 106 Checkboxes 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.