debug_logger->log_debug("Nonce check failed on enable basic firewall settings!",4);
die("Nonce check failed on enable basic firewall settings!");
}
//Save settings
if(isset($_POST['aiowps_enable_basic_firewall']))
{
$aio_wp_security->configs->set_value('aiowps_enable_basic_firewall','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_enable_basic_firewall','');
}
$aio_wp_security->configs->set_value('aiowps_enable_pingback_firewall',isset($_POST["aiowps_enable_pingback_firewall"])?'1':''); //this disables all xmlrpc functionality
$aio_wp_security->configs->set_value('aiowps_disable_xmlrpc_pingback_methods',isset($_POST["aiowps_disable_xmlrpc_pingback_methods"])?'1':''); //this disables only pingback methods of xmlrpc but leaves other methods so that Jetpack and other apps will still work
$aio_wp_security->configs->set_value('aiowps_block_debug_log_file_access',isset($_POST["aiowps_block_debug_log_file_access"])?'1':'');
//Commit the config settings
$aio_wp_security->configs->save_config();
//Recalculate points after the feature status/options have been altered
$aiowps_feature_mgr->check_feature_status_and_recalculate_points();
//Now let's write the applicable rules to the .htaccess file
$res = AIOWPSecurity_Utility_Htaccess::write_to_htaccess();
if ($res)
{
$this->show_msg_updated(__('Settings were successfully saved', 'all-in-one-wp-security-and-firewall'));
}
else
{
$this->show_msg_error(__('Could not write to the .htaccess file. Please check the file permissions.', 'all-in-one-wp-security-and-firewall'));
}
}
?>
debug_logger->log_debug("Nonce check failed on enable advanced firewall settings!",4);
die("Nonce check failed on enable advanced firewall settings!");
}
//Save settings
if(isset($_POST['aiowps_disable_index_views']))
{
$aio_wp_security->configs->set_value('aiowps_disable_index_views','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_disable_index_views','');
}
if(isset($_POST['aiowps_disable_trace_and_track']))
{
$aio_wp_security->configs->set_value('aiowps_disable_trace_and_track','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_disable_trace_and_track','');
}
if(isset($_POST['aiowps_forbid_proxy_comments']))
{
$aio_wp_security->configs->set_value('aiowps_forbid_proxy_comments','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_forbid_proxy_comments','');
}
if(isset($_POST['aiowps_deny_bad_query_strings']))
{
$aio_wp_security->configs->set_value('aiowps_deny_bad_query_strings','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_deny_bad_query_strings','');
}
if(isset($_POST['aiowps_advanced_char_string_filter']))
{
$aio_wp_security->configs->set_value('aiowps_advanced_char_string_filter','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_advanced_char_string_filter','');
}
//Commit the config settings
$aio_wp_security->configs->save_config();
//Now let's write the applicable rules to the .htaccess file
$res = AIOWPSecurity_Utility_Htaccess::write_to_htaccess();
if ($res)
{
$this->show_msg_updated(__('You have successfully saved the Additional Firewall Protection configuration', 'all-in-one-wp-security-and-firewall'));
}
else
{
$this->show_msg_error(__('Could not write to the .htaccess file. Please check the file permissions.', 'all-in-one-wp-security-and-firewall'));
}
if($error)
{
$this->show_msg_error($error);
}
}
?>
backup';
$info_msg = sprintf( __('Due to the nature of the code being inserted to the .htaccess file, this feature may break some functionality for certain plugins and you are therefore advised to take a %s of .htaccess before applying this configuration.', 'all-in-one-wp-security-and-firewall'), $backup_tab_link);
echo '
'.__('This feature allows you to activate more advanced firewall settings to your site.', 'all-in-one-wp-security-and-firewall').
' '.__('The advanced firewall rules are applied via the insertion of special code to your currently active .htaccess file.', 'all-in-one-wp-security-and-firewall').
' '.$info_msg.'
';
?>
debug_logger->log_debug("Nonce check failed on enable 5G/6G firewall settings!",4);
die("Nonce check failed on enable 5G/6G firewall settings!");
}
//Save settings
if(isset($_POST['aiowps_enable_5g_firewall']))
{
$aio_wp_security->configs->set_value('aiowps_enable_5g_firewall','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_enable_5g_firewall','');
}
if(isset($_POST['aiowps_enable_6g_firewall']))
{
$aio_wp_security->configs->set_value('aiowps_enable_6g_firewall','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_enable_6g_firewall','');
}
//Commit the config settings
$aio_wp_security->configs->save_config();
//Now let's write the applicable rules to the .htaccess file
$res = AIOWPSecurity_Utility_Htaccess::write_to_htaccess();
if ($res)
{
$this->show_msg_updated(__('You have successfully saved the 5G/6G Firewall Protection configuration', 'all-in-one-wp-security-and-firewall'));
// Recalculate points after the feature status/options have been altered
$aiowps_feature_mgr->check_feature_status_and_recalculate_points();
}
else
{
$this->show_msg_error(__('Could not write to the .htaccess file. Please check the file permissions.', 'all-in-one-wp-security-and-firewall'));
}
}
?>
backup';
$info_msg = '
'.sprintf( __('This feature allows you to activate the %s (or legacy %s) firewall security protection rules designed and produced by %s.', 'all-in-one-wp-security-and-firewall'), '6G', '5G', 'Perishable Press').'
';
$info_msg .= '
'.__('The 6G Blacklist is updated and improved version of 5G Blacklist. If you have 5G Blacklist active, you might consider activating 6G Blacklist instead.', 'all-in-one-wp-security-and-firewall').'
';
$info_msg .= '
'.__('The 6G Blacklist is a simple, flexible blacklist that helps reduce the number of malicious URL requests that hit your website.', 'all-in-one-wp-security-and-firewall').'
';
$info_msg .= '
'.__('The added advantage of applying the 6G firewall to your site is that it has been tested and confirmed by the people at PerishablePress.com to be an optimal and least disruptive set of .htaccess security rules for general WP sites running on an Apache server or similar.', 'all-in-one-wp-security-and-firewall').'
';
$info_msg .= '
'.sprintf( __('Therefore the 6G firewall rules should not have any impact on your site\'s general functionality but if you wish you can take a %s of your .htaccess file before proceeding.', 'all-in-one-wp-security-and-firewall'), $backup_tab_link).'
debug_logger->log_debug("Nonce check failed for save internet bot settings!",4);
die("Nonce check failed for save internet bot settings!");
}
//Save settings
if(isset($_POST['aiowps_block_fake_googlebots']))
{
$aio_wp_security->configs->set_value('aiowps_block_fake_googlebots','1');
}
else
{
$aio_wp_security->configs->set_value('aiowps_block_fake_googlebots','');
}
//Commit the config settings
$aio_wp_security->configs->save_config();
$this->show_msg_updated(__('The Internet bot settings were successfully saved', 'all-in-one-wp-security-and-firewall'));
}
?>
debug_logger->log_debug("Nonce check failed on prevent hotlinking options save!",4);
die("Nonce check failed on prevent hotlinking options save!");
}
$aio_wp_security->configs->set_value('aiowps_prevent_hotlinking',isset($_POST["aiowps_prevent_hotlinking"])?'1':'');
$aio_wp_security->configs->save_config();
//Recalculate points after the feature status/options have been altered
$aiowps_feature_mgr->check_feature_status_and_recalculate_points();
//Now let's write the applicable rules to the .htaccess file
$res = AIOWPSecurity_Utility_Htaccess::write_to_htaccess();
if ($res)
{
$this->show_msg_updated(__('Settings were successfully saved', 'all-in-one-wp-security-and-firewall'));
}
else
{
$this->show_msg_error(__('Could not write to the .htaccess file. Please check the file permissions.', 'all-in-one-wp-security-and-firewall'));
}
}
?>
'.__('A Hotlink is where someone displays an image on their site which is actually located on your site by using a direct link to the source of the image on your server.', 'all-in-one-wp-security-and-firewall');
echo ' '.__('Due to the fact that the image being displayed on the other person\'s site is coming from your server, this can cause leaking of bandwidth and resources for you because your server has to present this image for the people viewing it on someone elses\'s site.','all-in-one-wp-security-and-firewall');
echo ' '.__('This feature will prevent people from directly hotlinking images from your site\'s pages by writing some directives in your .htaccess file.', 'all-in-one-wp-security-and-firewall').'';
?>
debug_logger->log_debug("Nonce check failed for delete all 404 event logs operation!",4);
die(__('Nonce check failed for delete all 404 event logs operation!','all-in-one-wp-security-and-firewall'));
}
global $wpdb;
$events_table_name = AIOWPSEC_TBL_EVENTS;
//Delete all 404 records from the events table
$where = array('event_type' => '404');
$result = $wpdb->delete($events_table_name, $where);
if ($result === FALSE)
{
$aio_wp_security->debug_logger->log_debug("404 Detection Feature - Delete all 404 event logs operation failed!",4);
$this->show_msg_error(__('404 Detection Feature - Delete all 404 event logs operation failed!','all-in-one-wp-security-and-firewall'));
}
else
{
$this->show_msg_updated(__('All 404 event logs were deleted from the DB successfully!','all-in-one-wp-security-and-firewall'));
}
}
include_once 'wp-security-list-404.php'; //For rendering the AIOWPSecurity_List_Table in tab1
$event_list_404 = new AIOWPSecurity_List_404(); //For rendering the AIOWPSecurity_List_Table in tab1
if(isset($_POST['aiowps_save_404_detect_options']))//Do form submission tasks
{
$error = '';
$nonce=$_REQUEST['_wpnonce'];
if (!wp_verify_nonce($nonce, 'aiowpsec-404-detection-nonce'))
{
$aio_wp_security->debug_logger->log_debug("Nonce check failed on 404 detection options save!",4);
die("Nonce check failed on 404 detection options save!");
}
$aio_wp_security->configs->set_value('aiowps_enable_404_logging',isset($_POST["aiowps_enable_404_IP_lockout"])?'1':''); //the "aiowps_enable_404_IP_lockout" checkbox currently controls both the 404 lockout and 404 logging
$aio_wp_security->configs->set_value('aiowps_enable_404_IP_lockout',isset($_POST["aiowps_enable_404_IP_lockout"])?'1':'');
$lockout_time_length = isset($_POST['aiowps_404_lockout_time_length'])?sanitize_text_field($_POST['aiowps_404_lockout_time_length']):'';
if(!is_numeric($lockout_time_length))
{
$error .= ' '.__('You entered a non numeric value for the lockout time length field. It has been set to the default value.','all-in-one-wp-security-and-firewall');
$lockout_time_length = '60';//Set it to the default value for this field
}
$redirect_url = isset($_POST['aiowps_404_lock_redirect_url'])?trim($_POST['aiowps_404_lock_redirect_url']):'';
if ($redirect_url == '' || esc_url($redirect_url, array('http', 'https')) == ''){
$error .= ' '.__('You entered an incorrect format for the "Redirect URL" field. It has been set to the default value.','all-in-one-wp-security-and-firewall');
$redirect_url = 'http://127.0.0.1';
}
if($error)
{
$this->show_msg_error(__('Attention!','all-in-one-wp-security-and-firewall').$error);
}
$aio_wp_security->configs->set_value('aiowps_404_lockout_time_length',absint($lockout_time_length));
$aio_wp_security->configs->set_value('aiowps_404_lock_redirect_url',$redirect_url);
$aio_wp_security->configs->save_config();
//Recalculate points after the feature status/options have been altered
$aiowps_feature_mgr->check_feature_status_and_recalculate_points();
$this->show_msg_settings_updated();
}
if(isset($_REQUEST['action'])) //Do list table form row action tasks
{
if($_REQUEST['action'] == 'temp_block'){ //Temp Block link was clicked for a row in list table
$event_list_404->block_ip(strip_tags($_REQUEST['ip_address']));
}
if($_REQUEST['action'] == 'blacklist_ip'){ //Blacklist IP link was clicked for a row in list table
$event_list_404->blacklist_ip_address(strip_tags($_REQUEST['ip_address']));
}
if($_REQUEST['action'] == 'delete_event_log'){ //Unlock link was clicked for a row in list table
$event_list_404->delete_404_event_records(strip_tags($_REQUEST['id']));
}
}
?>
'.__('A 404 or Not Found error occurs when somebody tries to access a non-existent page on your website.', 'all-in-one-wp-security-and-firewall').'
'.__('Typically, most 404 errors happen quite innocently when people have mis-typed a URL or used an old link to page which doesn\'t exist anymore.', 'all-in-one-wp-security-and-firewall').'
'.__('However, in some cases you may find many repeated 404 errors which occur in a relatively short space of time and from the same IP address which are all attempting to access a variety of non-existent page URLs.', 'all-in-one-wp-security-and-firewall').'
'.__('Such behaviour can mean that a hacker might be trying to find a particular page or URL for sinister reasons.', 'all-in-one-wp-security-and-firewall').'
'.__('This feature allows you to monitor all 404 events which occur on your site, and it also gives you the option of blocking IP addresses for a configured length of time.', 'all-in-one-wp-security-and-firewall').'
'.__('If you want to temporarily block an IP address, simply click the "Temp Block" link for the applicable IP entry in the "404 Event Logs" table below.', 'all-in-one-wp-security-and-firewall').'';
?>
Smart404 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 and permanently block IP addresses based on how many 404 errors they produce.', 'all-in-one-wp-security-and-firewall');
echo '
prepare_items();
//echo "put table of locked entries here";
?>
debug_logger->log_debug("Nonce check failed for save custom rules settings!",4);
die("Nonce check failed for save custom rules settings!");
}
//Save settings
if (isset($_POST["aiowps_enable_custom_rules"]) && empty($_POST['aiowps_custom_rules']))
{
$this->show_msg_error('You must enter some .htaccess directives code in the text box below','all-in-one-wp-security-and-firewall');
}
else
{
if (!empty($_POST['aiowps_custom_rules']))
{
// Undo magic quotes that are automatically added to `$_GET`,
// `$_POST`, `$_COOKIE`, and `$_SERVER` by WordPress as
// they corrupt any custom rule with backslash in it...
$custom_rules = stripslashes($_POST['aiowps_custom_rules']);
}
else
{
$aio_wp_security->configs->set_value('aiowps_custom_rules',''); //Clear the custom rules config value
}
$aio_wp_security->configs->set_value('aiowps_custom_rules',$custom_rules);
$aio_wp_security->configs->set_value('aiowps_enable_custom_rules',isset($_POST["aiowps_enable_custom_rules"])?'1':'');
$aio_wp_security->configs->save_config(); //Save the configuration
$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("Custom Rules feature - The plugin was unable to write to the .htaccess file.");
}
}
}
?>