'render_tab1', ); function __construct() { $this->render_menu_page(); } function set_menu_tabs() { $this->menu_tabs = array( 'tab1' => __('Ban Users', 'all-in-one-wp-security-and-firewall'), ); } function get_current_tab() { $tab_keys = array_keys($this->menu_tabs); $tab = isset( $_GET['tab'] ) ? sanitize_text_field($_GET['tab']) : $tab_keys[0]; return $tab; } /* * Renders our tabs of this menu as nav items */ function render_menu_tabs() { $current_tab = $this->get_current_tab(); echo ''; } /* * The menu rendering goes here */ function render_menu_page() { echo '
'; echo '

'.__('Blacklist Manager','all-in-one-wp-security-and-firewall').'

';//Interface title $this->set_menu_tabs(); $tab = $this->get_current_tab(); $this->render_menu_tabs(); ?>
menu_tabs); call_user_func(array(&$this, $this->menu_tabs_handler[$tab])); ?>
debug_logger->log_debug("Nonce check failed for save blacklist settings!",4); die(__('Nonce check failed for save blacklist settings!','all-in-one-wp-security-and-firewall')); } if (isset($_POST["aiowps_enable_blacklisting"]) && empty($_POST['aiowps_banned_ip_addresses']) && empty($_POST['aiowps_banned_user_agents'])) { $this->show_msg_error('You must submit at least one IP address or one User Agent value or both!','all-in-one-wp-security-and-firewall'); } else { if (!empty($_POST['aiowps_banned_ip_addresses'])) { $ip_addresses = $_POST['aiowps_banned_ip_addresses']; $ip_list_array = AIOWPSecurity_Utility_IP::create_ip_list_array_from_string_with_newline($ip_addresses); $payload = AIOWPSecurity_Utility_IP::validate_ip_list($ip_list_array, 'blacklist'); if($payload[0] == 1){ //success case $result = 1; $list = $payload[1]; $banned_ip_data = implode(PHP_EOL, $list); $aio_wp_security->configs->set_value('aiowps_banned_ip_addresses',$banned_ip_data); $_POST['aiowps_banned_ip_addresses'] = ''; //Clear the post variable for the banned address list } else{ $result = -1; $error_msg = $payload[1][0]; $this->show_msg_error($error_msg); } } else { $aio_wp_security->configs->set_value('aiowps_banned_ip_addresses',''); //Clear the IP address config value } if (!empty($_POST['aiowps_banned_user_agents'])) { $result = $result * $this->validate_user_agent_list(); }else{ //clear the user agent list $aio_wp_security->configs->set_value('aiowps_banned_user_agents',''); } if ($result == 1) { $aio_wp_security->configs->set_value('aiowps_enable_blacklisting',isset($_POST["aiowps_enable_blacklisting"])?'1':''); $aio_wp_security->configs->save_config(); //Save the configuration //Recalculate points after the feature status/options have been altered $aiowps_feature_mgr->check_feature_status_and_recalculate_points(); $this->show_msg_settings_updated(); $write_result = AIOWPSecurity_Utility_Htaccess::write_to_htaccess(); //now let's write to the .htaccess file if ( !$write_result ) { $this->show_msg_error(__('The plugin was unable to write to the .htaccess file. Please edit file manually.','all-in-one-wp-security-and-firewall')); $aio_wp_security->debug_logger->log_debug("AIOWPSecurity_Blacklist_Menu - The plugin was unable to write to the .htaccess file."); } } } } ?>

'.__('The All In One WP Security Blacklist feature gives you the option of banning certain host IP addresses or ranges and also user agents.', 'all-in-one-wp-security-and-firewall').'
'.__('This feature will deny total site access for users which have IP addresses or user agents matching those which you have configured in the settings below.', 'all-in-one-wp-security-and-firewall').'
'.__('The plugin achieves this by making appropriate modifications to your .htaccess file.', 'all-in-one-wp-security-and-firewall').'
'.__('By blocking people via the .htaccess file your are using the most secure first line of defence which denies all access to blacklisted visitors as soon as they hit your hosting server.', 'all-in-one-wp-security-and-firewall').'

'; ?>
Country Blocking Addon'; $info_msg = sprintf( __('You may also be interested in our %s.', 'all-in-one-wp-security-and-firewall'), $addon_link); $info_msg2 = __('This addon allows you to automatically block IP addresses based on their country of origin.', 'all-in-one-wp-security-and-firewall'); echo '

'.$info_msg. '
'.$info_msg2.'

'; ?>

output_feature_details_badge("blacklist-manager-ip-user-agent-blacklisting"); ?>

must read this message'; echo sprintf(__('This feature can lock you out of admin if it doesn\'t work correctly on your site. You %s before activating this feature.', 'all-in-one-wp-security-and-firewall'), $read_link); ?>

: configs->get_value('aiowps_enable_blacklisting')=='1') echo ' checked="checked"'; ?> value="1"/>

+
'.__('Each IP address must be on a new line.', 'all-in-one-wp-security-and-firewall').'

'; echo '

'.__('To specify an IP range use a wildcard "*" character. Acceptable ways to use wildcards is shown in the examples below:', 'all-in-one-wp-security-and-firewall').'

'; echo '

'.__('Example 1: 195.47.89.*', 'all-in-one-wp-security-and-firewall').'

'; echo '

'.__('Example 2: 195.47.*.*', 'all-in-one-wp-security-and-firewall').'

'; echo '

'.__('Example 3: 195.*.*.*', 'all-in-one-wp-security-and-firewall').'

'; ?>

+
'.__('Each user agent string must be on a new line.', 'all-in-one-wp-security-and-firewall').'

'; echo '

'.__('Example 1 - A single user agent string to block:', 'all-in-one-wp-security-and-firewall').'

'; echo '

SquigglebotBot

'; echo '

'.__('Example 2 - A list of more than 1 user agent strings to block', 'all-in-one-wp-security-and-firewall').'

'; echo '

baiduspider
SquigglebotBot
SurveyBot
VoidEYE
webcrawl.net
YottaShopping_Bot

'; ?>
1) { sort( $agents ); $agents = array_unique($agents, SORT_STRING); } $banned_user_agent_data = implode(PHP_EOL, $agents); $aio_wp_security->configs->set_value('aiowps_banned_user_agents',$banned_user_agent_data); $_POST['aiowps_banned_user_agents'] = ''; //Clear the post variable for the banned address list return 1; } } //end class