Version Description
- Added a new feature which allows you to add captcha to the Wordpress user registration page.
- Added some more helpful comments and link to video tutorial in the brute force and white list features settings pages.
Download this release
Release Info
Developer | mra13 |
Plugin | All In One WP Security & Firewall |
Version | 3.0 |
Comparing to | |
See all releases |
Code changes from version 2.9 to 3.0
- admin/wp-security-firewall-menu.php +14 -4
- admin/wp-security-user-login-menu.php +7 -0
- admin/wp-security-user-registration-menu.php +65 -0
- classes/grade-system/wp-security-feature-item-manager.php +20 -1
- classes/wp-security-configure-settings.php +11 -4
- classes/wp-security-general-init-tasks.php +7 -0
- classes/wp-security-user-registration.php +24 -0
- readme.txt +7 -2
- wp-security-core.php +1 -1
- wp-security.php +1 -1
admin/wp-security-firewall-menu.php
CHANGED
@@ -625,12 +625,22 @@ class AIOWPSecurity_Firewall_Menu extends AIOWPSecurity_Admin_Menu
|
|
625 |
<div class="aio_blue_box">
|
626 |
<?php
|
627 |
//TODO - need to fix the following message
|
628 |
-
$backup_tab_link = '<a href="admin.php?page='.AIOWPSEC_SETTINGS_MENU_SLUG.'&tab=tab2" target="_blank">backup</a>';
|
629 |
-
$info_msg = sprintf( __('This 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.', 'aiowpsecurity'), $backup_tab_link);
|
630 |
echo '<p>'.__('A Brute Force Attack is when a hacker tries many combinations of usernames and passwords until they succeed in guessing the right combination.', 'aiowpsecurity').
|
631 |
'<br />'.__('Due to the fact that at any one time there may be many concurrent login attempts occurring on your site via malicious automated robots, this also has a negative impact on your server\'s memory and performance.', 'aiowpsecurity').
|
632 |
-
'<br />'.__('The features in this tab will stop the majority of Brute Force Login Attacks at the .htaccess level thus providing even better protection for your WP login page and also reducing the load on your server because the system does not have to run PHP code to process the login attempts.', 'aiowpsecurity').
|
633 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
634 |
?>
|
635 |
</div>
|
636 |
|
625 |
<div class="aio_blue_box">
|
626 |
<?php
|
627 |
//TODO - need to fix the following message
|
|
|
|
|
628 |
echo '<p>'.__('A Brute Force Attack is when a hacker tries many combinations of usernames and passwords until they succeed in guessing the right combination.', 'aiowpsecurity').
|
629 |
'<br />'.__('Due to the fact that at any one time there may be many concurrent login attempts occurring on your site via malicious automated robots, this also has a negative impact on your server\'s memory and performance.', 'aiowpsecurity').
|
630 |
+
'<br />'.__('The features in this tab will stop the majority of Brute Force Login Attacks at the .htaccess level thus providing even better protection for your WP login page and also reducing the load on your server because the system does not have to run PHP code to process the login attempts.', 'aiowpsecurity').'</p>';
|
631 |
+
?>
|
632 |
+
</div>
|
633 |
+
<div class="aio_yellow_box">
|
634 |
+
<?php
|
635 |
+
$backup_tab_link = '<a href="admin.php?page='.AIOWPSEC_SETTINGS_MENU_SLUG.'&tab=tab2" target="_blank">backup</a>';
|
636 |
+
$video_link = '<a href="http://www.tipsandtricks-hq.com/all-in-one-wp-security-plugin-cookie-based-brute-force-login-attack-prevention-feature-5994" target="_blank">video tutorial</a>';
|
637 |
+
$info_msg = sprintf( __('Even though this feature should not have any impact on your site\'s general functionality <strong>you are strongly encouraged to take a %s of your .htaccess file before proceeding</strong>.', 'aiowpsecurity'), $backup_tab_link);
|
638 |
+
$info_msg1 = __('If this feature is not used correctly, you can get locked out of your site. A backup file will come in handy if that happens.', 'aiowpsecurity');
|
639 |
+
$info_msg2 = sprintf( __('To learn more about how to use this feature please watch the following %s.', 'aiowpsecurity'), $video_link);
|
640 |
+
$brute_force_login_feature_link = '<a href="admin.php?page='.AIOWPSEC_FIREWALL_MENU_SLUG.'&tab=tab4" target="_blank">Cookie-Based Brute Force Login Prevention</a>';
|
641 |
+
echo '<p>'.$info_msg.
|
642 |
+
'<br />'.$info_msg1.
|
643 |
+
'<br />'.$info_msg2.'</p>';
|
644 |
?>
|
645 |
</div>
|
646 |
|
admin/wp-security-user-login-menu.php
CHANGED
@@ -389,6 +389,13 @@ class AIOWPSecurity_User_Login_Menu extends AIOWPSecurity_Admin_Menu
|
|
389 |
</p>';
|
390 |
?>
|
391 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
|
393 |
<div class="postbox">
|
394 |
<h3><label for="title"><?php _e('Login IP Whitelist Settings', 'aiowpsecurity'); ?></label></h3>
|
389 |
</p>';
|
390 |
?>
|
391 |
</div>
|
392 |
+
<div class="aio_yellow_box">
|
393 |
+
<?php
|
394 |
+
$brute_force_login_feature_link = '<a href="admin.php?page='.AIOWPSEC_FIREWALL_MENU_SLUG.'&tab=tab4" target="_blank">Cookie-Based Brute Force Login Prevention</a>';
|
395 |
+
echo '<p>'.sprintf( __('Attention: If in addition to enabling the white list feature, you also have the %s feature enabled, <strong>you will still need to use your secret word in the URL when trying to access your WordPress login page</strong>.', 'aiowpsecurity'), $brute_force_login_feature_link).'</p>
|
396 |
+
<p>'.__('These features are NOT functionally related. Having both of them enabled on your site means you are creating 2 layers of security.', 'aiowpsecurity').'</p>';
|
397 |
+
?>
|
398 |
+
</div>
|
399 |
|
400 |
<div class="postbox">
|
401 |
<h3><label for="title"><?php _e('Login IP Whitelist Settings', 'aiowpsecurity'); ?></label></h3>
|
admin/wp-security-user-registration-menu.php
CHANGED
@@ -7,10 +7,12 @@ class AIOWPSecurity_User_Registration_Menu extends AIOWPSecurity_Admin_Menu
|
|
7 |
/* Specify all the tabs of this menu in the following array */
|
8 |
var $menu_tabs = array(
|
9 |
'tab1' => 'Manual Approval',
|
|
|
10 |
);
|
11 |
|
12 |
var $menu_tabs_handler = array(
|
13 |
'tab1' => 'render_tab1',
|
|
|
14 |
);
|
15 |
|
16 |
function __construct()
|
@@ -153,5 +155,68 @@ class AIOWPSecurity_User_Registration_Menu extends AIOWPSecurity_Admin_Menu
|
|
153 |
</div></div>
|
154 |
<?php
|
155 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
|
157 |
} //end class
|
7 |
/* Specify all the tabs of this menu in the following array */
|
8 |
var $menu_tabs = array(
|
9 |
'tab1' => 'Manual Approval',
|
10 |
+
'tab2' => 'Registration Captcha',
|
11 |
);
|
12 |
|
13 |
var $menu_tabs_handler = array(
|
14 |
'tab1' => 'render_tab1',
|
15 |
+
'tab2' => 'render_tab2',
|
16 |
);
|
17 |
|
18 |
function __construct()
|
155 |
</div></div>
|
156 |
<?php
|
157 |
}
|
158 |
+
|
159 |
+
function render_tab2()
|
160 |
+
{
|
161 |
+
global $aio_wp_security;
|
162 |
+
global $aiowps_feature_mgr;
|
163 |
+
|
164 |
+
if(isset($_POST['aiowpsec_save_registration_captcha_settings']))//Do form submission tasks
|
165 |
+
{
|
166 |
+
$error = '';
|
167 |
+
$nonce=$_REQUEST['_wpnonce'];
|
168 |
+
if (!wp_verify_nonce($nonce, 'aiowpsec-registration-captcha-settings-nonce'))
|
169 |
+
{
|
170 |
+
$aio_wp_security->debug_logger->log_debug("Nonce check failed on registration captcha settings save!",4);
|
171 |
+
die("Nonce check failed on registration captcha settings save!");
|
172 |
+
}
|
173 |
+
|
174 |
+
|
175 |
+
//Save all the form values to the options
|
176 |
+
$random_20_digit_string = AIOWPSecurity_Utility::generate_alpha_numeric_random_string(20); //Generate random 20 char string for use during captcha encode/decode
|
177 |
+
$aio_wp_security->configs->set_value('aiowps_captcha_secret_key', $random_20_digit_string);
|
178 |
+
$aio_wp_security->configs->set_value('aiowps_enable_registration_page_captcha',isset($_POST["aiowps_enable_registration_page_captcha"])?'1':'');
|
179 |
+
$aio_wp_security->configs->save_config();
|
180 |
+
|
181 |
+
//Recalculate points after the feature status/options have been altered
|
182 |
+
$aiowps_feature_mgr->check_feature_status_and_recalculate_points();
|
183 |
+
|
184 |
+
$this->show_msg_settings_updated();
|
185 |
+
}
|
186 |
+
?>
|
187 |
+
<div class="aio_blue_box">
|
188 |
+
<?php
|
189 |
+
echo '<p>'.__('This feature allows you to add a captcha form on the WordPress registration page.', 'aiowpsecurity').'
|
190 |
+
<br />'.__('Users who attempt to register will also need to enter the answer to a simple mathematical question - if they enter the wrong answer, the plugin will not allow them to register.', 'aiowpsecurity').'
|
191 |
+
<br />'.__('Therefore, adding a captcha form on the registration page is another effective yet simple SPAM registration prevention technique.', 'aiowpsecurity').'
|
192 |
+
</p>';
|
193 |
+
?>
|
194 |
+
</div>
|
195 |
+
<div class="postbox">
|
196 |
+
<h3><label for="title"><?php _e('Registration Page Captcha Settings', 'aiowpsecurity'); ?></label></h3>
|
197 |
+
<div class="inside">
|
198 |
+
<?php
|
199 |
+
//Display security info badge
|
200 |
+
global $aiowps_feature_mgr;
|
201 |
+
$aiowps_feature_mgr->output_feature_details_badge("user-registration-captcha");
|
202 |
+
?>
|
203 |
+
|
204 |
+
<form action="" method="POST">
|
205 |
+
<?php wp_nonce_field('aiowpsec-registration-captcha-settings-nonce'); ?>
|
206 |
+
<table class="form-table">
|
207 |
+
<tr valign="top">
|
208 |
+
<th scope="row"><?php _e('Enable Captcha On Registration Page', 'aiowpsecurity')?>:</th>
|
209 |
+
<td>
|
210 |
+
<input name="aiowps_enable_registration_page_captcha" type="checkbox"<?php if($aio_wp_security->configs->get_value('aiowps_enable_registration_page_captcha')=='1') echo ' checked="checked"'; ?> value="1"/>
|
211 |
+
<span class="description"><?php _e('Check this if you want to insert a captcha form on the WordPress user registration page (if you allow user registration).', 'aiowpsecurity'); ?></span>
|
212 |
+
</td>
|
213 |
+
</tr>
|
214 |
+
</table>
|
215 |
+
<input type="submit" name="aiowpsec_save_registration_captcha_settings" value="<?php _e('Save Settings', 'aiowpsecurity')?>" class="button-primary" />
|
216 |
+
</form>
|
217 |
+
</div></div>
|
218 |
+
<?php
|
219 |
+
}
|
220 |
+
|
221 |
|
222 |
} //end class
|
classes/grade-system/wp-security-feature-item-manager.php
CHANGED
@@ -47,6 +47,8 @@ class AIOWPSecurity_Feature_Item_Manager
|
|
47 |
//User Registration
|
48 |
//Manually approve registrations
|
49 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("manually-approve-registrations", "Registration Approval", $this->feature_point_4, $this->sec_level_basic);
|
|
|
|
|
50 |
|
51 |
//Database Security Menu Features
|
52 |
//DB Prefix
|
@@ -72,7 +74,7 @@ class AIOWPSecurity_Feature_Item_Manager
|
|
72 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-pingback-rules", "Enable Pingback Vulnerability Protection", $this->feature_point_3, $this->sec_level_basic);
|
73 |
|
74 |
//Additional and Advanced firewall
|
75 |
-
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-enable-brute-force-attack-prevention", "Enable Brute Force Attack Prevention", $this->feature_point_4, $this->
|
76 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-disable-index-views", "Disable Index Views", $this->feature_point_1, $this->sec_level_inter);
|
77 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-disable-trace-track", "Disable Trace and Track", $this->feature_point_2, $this->sec_level_advanced);
|
78 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-forbid-proxy-comments", "Forbid Proxy Comments", $this->feature_point_2, $this->sec_level_advanced);
|
@@ -183,6 +185,10 @@ class AIOWPSecurity_Feature_Item_Manager
|
|
183 |
{
|
184 |
$this->check_registration_approval_feature($item);
|
185 |
}
|
|
|
|
|
|
|
|
|
186 |
|
187 |
|
188 |
if($item->feature_id == "filesystem-file-permissions")
|
@@ -387,6 +393,19 @@ class AIOWPSecurity_Feature_Item_Manager
|
|
387 |
}
|
388 |
}
|
389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
390 |
function check_db_security_db_prefix_feature($item)
|
391 |
{
|
392 |
global $wpdb;
|
47 |
//User Registration
|
48 |
//Manually approve registrations
|
49 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("manually-approve-registrations", "Registration Approval", $this->feature_point_4, $this->sec_level_basic);
|
50 |
+
//Registration Captcha
|
51 |
+
$this->feature_items[] = new AIOWPSecurity_Feature_Item("user-registration-captcha", "Registration Captcha", $this->feature_point_4, $this->sec_level_basic);
|
52 |
|
53 |
//Database Security Menu Features
|
54 |
//DB Prefix
|
74 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-pingback-rules", "Enable Pingback Vulnerability Protection", $this->feature_point_3, $this->sec_level_basic);
|
75 |
|
76 |
//Additional and Advanced firewall
|
77 |
+
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-enable-brute-force-attack-prevention", "Enable Brute Force Attack Prevention", $this->feature_point_4, $this->sec_level_advanced);
|
78 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-disable-index-views", "Disable Index Views", $this->feature_point_1, $this->sec_level_inter);
|
79 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-disable-trace-track", "Disable Trace and Track", $this->feature_point_2, $this->sec_level_advanced);
|
80 |
$this->feature_items[] = new AIOWPSecurity_Feature_Item("firewall-forbid-proxy-comments", "Forbid Proxy Comments", $this->feature_point_2, $this->sec_level_advanced);
|
185 |
{
|
186 |
$this->check_registration_approval_feature($item);
|
187 |
}
|
188 |
+
if($item->feature_id == "user-registration-captcha")
|
189 |
+
{
|
190 |
+
$this->check_registration_captcha_feature($item);
|
191 |
+
}
|
192 |
|
193 |
|
194 |
if($item->feature_id == "filesystem-file-permissions")
|
393 |
}
|
394 |
}
|
395 |
|
396 |
+
function check_registration_captcha_feature($item)
|
397 |
+
{
|
398 |
+
global $aio_wp_security;
|
399 |
+
if ($aio_wp_security->configs->get_value('aiowps_enable_registration_page_captcha') == '1') {
|
400 |
+
$item->set_feature_status($this->feature_active);
|
401 |
+
}
|
402 |
+
else
|
403 |
+
{
|
404 |
+
$item->set_feature_status($this->feature_inactive);
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
|
409 |
function check_db_security_db_prefix_feature($item)
|
410 |
{
|
411 |
global $wpdb;
|
classes/wp-security-configure-settings.php
CHANGED
@@ -38,6 +38,10 @@ class AIOWPSecurity_Configure_Settings
|
|
38 |
$aio_wp_security->configs->set_value('aiowps_enable_whitelisting','');//Checkbox
|
39 |
$aio_wp_security->configs->set_value('aiowps_allowed_ip_addresses','');
|
40 |
|
|
|
|
|
|
|
|
|
41 |
//DB Security feature
|
42 |
//$aio_wp_security->configs->set_value('aiowps_new_manual_db_pefix',''); //text field
|
43 |
$aio_wp_security->configs->set_value('aiowps_enable_random_prefix','');//Checkbox
|
@@ -121,14 +125,17 @@ class AIOWPSecurity_Configure_Settings
|
|
121 |
$aio_wp_security->configs->add_value('aiowps_logout_time_period','60');
|
122 |
$aio_wp_security->configs->add_value('aiowps_enable_invalid_username_lockdown','');//Checkbox
|
123 |
|
124 |
-
//Captcha feature
|
125 |
-
$aio_wp_security->configs->add_value('aiowps_enable_login_captcha','');//Checkbox
|
126 |
-
$aio_wp_security->configs->add_value('aiowps_captcha_secret_key',AIOWPSecurity_Utility::generate_alpha_numeric_random_string(20));//Hidden secret value which will be used to do some captcha processing. This will be assigned a random string generated when captcha settings saved
|
127 |
-
|
128 |
//Login Whitelist feature
|
129 |
$aio_wp_security->configs->add_value('aiowps_enable_whitelisting','');//Checkbox
|
130 |
$aio_wp_security->configs->add_value('aiowps_allowed_ip_addresses','');
|
|
|
|
|
|
|
131 |
|
|
|
|
|
|
|
|
|
132 |
//DB Security feature
|
133 |
//$aio_wp_security->configs->add_value('aiowps_new_manual_db_pefix',''); //text field
|
134 |
$aio_wp_security->configs->add_value('aiowps_enable_random_prefix','');//Checkbox
|
38 |
$aio_wp_security->configs->set_value('aiowps_enable_whitelisting','');//Checkbox
|
39 |
$aio_wp_security->configs->set_value('aiowps_allowed_ip_addresses','');
|
40 |
|
41 |
+
//User registration
|
42 |
+
$aio_wp_security->configs->set_value('aiowps_enable_manual_registration_approval','');//Checkbox
|
43 |
+
$aio_wp_security->configs->set_value('aiowps_enable_registration_page_captcha','');//Checkbox
|
44 |
+
|
45 |
//DB Security feature
|
46 |
//$aio_wp_security->configs->set_value('aiowps_new_manual_db_pefix',''); //text field
|
47 |
$aio_wp_security->configs->set_value('aiowps_enable_random_prefix','');//Checkbox
|
125 |
$aio_wp_security->configs->add_value('aiowps_logout_time_period','60');
|
126 |
$aio_wp_security->configs->add_value('aiowps_enable_invalid_username_lockdown','');//Checkbox
|
127 |
|
|
|
|
|
|
|
|
|
128 |
//Login Whitelist feature
|
129 |
$aio_wp_security->configs->add_value('aiowps_enable_whitelisting','');//Checkbox
|
130 |
$aio_wp_security->configs->add_value('aiowps_allowed_ip_addresses','');
|
131 |
+
//Captcha feature
|
132 |
+
$aio_wp_security->configs->add_value('aiowps_enable_login_captcha','');//Checkbox
|
133 |
+
$aio_wp_security->configs->add_value('aiowps_captcha_secret_key',AIOWPSecurity_Utility::generate_alpha_numeric_random_string(20));//Hidden secret value which will be used to do some captcha processing. This will be assigned a random string generated when captcha settings saved
|
134 |
|
135 |
+
//User registration
|
136 |
+
$aio_wp_security->configs->add_value('aiowps_enable_manual_registration_approval','');//Checkbox
|
137 |
+
$aio_wp_security->configs->add_value('aiowps_enable_registration_page_captcha','');//Checkbox
|
138 |
+
|
139 |
//DB Security feature
|
140 |
//$aio_wp_security->configs->add_value('aiowps_new_manual_db_pefix',''); //text field
|
141 |
$aio_wp_security->configs->add_value('aiowps_enable_random_prefix','');//Checkbox
|
classes/wp-security-general-init-tasks.php
CHANGED
@@ -31,6 +31,13 @@ class AIOWPSecurity_General_Init_Tasks
|
|
31 |
}
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
//For comment captcha feature
|
35 |
if($aio_wp_security->configs->get_value('aiowps_enable_comment_captcha') == '1'){
|
36 |
add_action( 'comment_form_after_fields', array(&$this, 'insert_captcha_question_form'), 1 );
|
31 |
}
|
32 |
}
|
33 |
|
34 |
+
//For registration page captcha feature
|
35 |
+
if($aio_wp_security->configs->get_value('aiowps_enable_registration_page_captcha') == '1'){
|
36 |
+
if (!is_user_logged_in()) {
|
37 |
+
add_action('register_form', array(&$this, 'insert_captcha_question_form'));
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
//For comment captcha feature
|
42 |
if($aio_wp_security->configs->get_value('aiowps_enable_comment_captcha') == '1'){
|
43 |
add_action( 'comment_form_after_fields', array(&$this, 'insert_captcha_question_form'), 1 );
|
classes/wp-security-user-registration.php
CHANGED
@@ -5,6 +5,7 @@ class AIOWPSecurity_User_Registration
|
|
5 |
function __construct()
|
6 |
{
|
7 |
add_action('user_register', array(&$this, 'aiowps_user_registration_action_handler'));
|
|
|
8 |
}
|
9 |
|
10 |
|
@@ -40,4 +41,27 @@ class AIOWPSecurity_User_Registration
|
|
40 |
}
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
5 |
function __construct()
|
6 |
{
|
7 |
add_action('user_register', array(&$this, 'aiowps_user_registration_action_handler'));
|
8 |
+
add_filter('registration_errors', array(&$this, 'aiowps_validate_registration_with_captcha'), 10, 3);
|
9 |
}
|
10 |
|
11 |
|
41 |
}
|
42 |
}
|
43 |
|
44 |
+
function aiowps_validate_registration_with_captcha($errors, $sanitized_user_login, $user_email)
|
45 |
+
{
|
46 |
+
global $aio_wp_security;
|
47 |
+
//Check if captcha enabled
|
48 |
+
if ($aio_wp_security->configs->get_value('aiowps_enable_registration_page_captcha') == '1')
|
49 |
+
{
|
50 |
+
if (array_key_exists('aiowps-captcha-answer', $_POST)) //If the register form with captcha was submitted then do some processing
|
51 |
+
{
|
52 |
+
isset($_POST['aiowps-captcha-answer'])?$captcha_answer = strip_tags(trim($_POST['aiowps-captcha-answer'])): $captcha_answer = '';
|
53 |
+
$captcha_secret_string = $aio_wp_security->configs->get_value('aiowps_captcha_secret_key');
|
54 |
+
$submitted_encoded_string = base64_encode($_POST['aiowps-captcha-temp-string'].$captcha_secret_string.$captcha_answer);
|
55 |
+
if($submitted_encoded_string !== $_POST['aiowps-captcha-string-info'])
|
56 |
+
{
|
57 |
+
//This means a wrong answer was entered
|
58 |
+
//return new WP_Error('authentication_failed', __('<strong>ERROR</strong>: Your answer was incorrect - please try again.', 'aiowpsecurity'));
|
59 |
+
$errors->add('authentication_failed', __('<strong>ERROR</strong>: Your answer was incorrect - please try again.', 'aiowpsecurity'));
|
60 |
+
return $errors;
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
64 |
+
return $errors;
|
65 |
+
}
|
66 |
+
|
67 |
}
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: Tips and Tricks HQ, wpsolutions, Peter Petreski, Ruhul Amin
|
|
3 |
Donate link: http://www.tipsandtricks-hq.com
|
4 |
Tags: security, secure, Anti Virus, antivirus, ban, ban hacker, virus, firewall, firewall security, login, lockdown, htaccess, hack, malware, vulnerability, protect, protection, phishing, database, backup, plugin, sql injection, ssl, restrict, login captcha
|
5 |
Requires at least: 3.5
|
6 |
-
Tested up to: 3.7
|
7 |
-
Stable tag:
|
8 |
License: GPLv3
|
9 |
|
10 |
A comprehensive, user-friendly, all in one WordPress security and firewall plugin for your site.
|
@@ -52,6 +52,7 @@ via email whenever somebody gets locked out due to too many login attempts.
|
|
52 |
|
53 |
= User Registration Security =
|
54 |
* Enable manual approval of WordPress user accounts. If your site allows people to create their own accounts via the WordPress registration form, then you can minimize SPAM or bogus registrations by manually approving each registration.
|
|
|
55 |
|
56 |
= Database Security =
|
57 |
* Easily the default WP prefix to a value of your choice with the click of a button.
|
@@ -145,6 +146,10 @@ None
|
|
145 |
|
146 |
== Changelog ==
|
147 |
|
|
|
|
|
|
|
|
|
148 |
= 2.9 =
|
149 |
- Added new feature which automatically sets the status of newly registered wordpress user accounts to "pending" and allows manual approval by an administrator.
|
150 |
- Improved robustness of file change detection iteration code.
|
3 |
Donate link: http://www.tipsandtricks-hq.com
|
4 |
Tags: security, secure, Anti Virus, antivirus, ban, ban hacker, virus, firewall, firewall security, login, lockdown, htaccess, hack, malware, vulnerability, protect, protection, phishing, database, backup, plugin, sql injection, ssl, restrict, login captcha
|
5 |
Requires at least: 3.5
|
6 |
+
Tested up to: 3.7.1
|
7 |
+
Stable tag: 3.0
|
8 |
License: GPLv3
|
9 |
|
10 |
A comprehensive, user-friendly, all in one WordPress security and firewall plugin for your site.
|
52 |
|
53 |
= User Registration Security =
|
54 |
* Enable manual approval of WordPress user accounts. If your site allows people to create their own accounts via the WordPress registration form, then you can minimize SPAM or bogus registrations by manually approving each registration.
|
55 |
+
* Ability to add captcha to the WordPress user registration page to protect you from spam user registration.
|
56 |
|
57 |
= Database Security =
|
58 |
* Easily the default WP prefix to a value of your choice with the click of a button.
|
146 |
|
147 |
== Changelog ==
|
148 |
|
149 |
+
= 3.0 =
|
150 |
+
- Added a new feature which allows you to add captcha to the Wordpress user registration page.
|
151 |
+
- Added some more helpful comments and link to video tutorial in the brute force and white list features settings pages.
|
152 |
+
|
153 |
= 2.9 =
|
154 |
- Added new feature which automatically sets the status of newly registered wordpress user accounts to "pending" and allows manual approval by an administrator.
|
155 |
- Improved robustness of file change detection iteration code.
|
wp-security-core.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
if (!class_exists('AIO_WP_Security')){
|
4 |
|
5 |
class AIO_WP_Security{
|
6 |
-
var $version = '
|
7 |
var $db_version = '1.3';
|
8 |
var $plugin_url;
|
9 |
var $plugin_path;
|
3 |
if (!class_exists('AIO_WP_Security')){
|
4 |
|
5 |
class AIO_WP_Security{
|
6 |
+
var $version = '3.0';
|
7 |
var $db_version = '1.3';
|
8 |
var $plugin_url;
|
9 |
var $plugin_path;
|
wp-security.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: All In One WP Security
|
4 |
-
Version:
|
5 |
Plugin URI: http://www.tipsandtricks-hq.com/wordpress-security-and-firewall-plugin
|
6 |
Author: Tips and Tricks HQ, Peter, Ruhul Amin
|
7 |
Author URI: http://www.tipsandtricks-hq.com/
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: All In One WP Security
|
4 |
+
Version: v3.0
|
5 |
Plugin URI: http://www.tipsandtricks-hq.com/wordpress-security-and-firewall-plugin
|
6 |
Author: Tips and Tricks HQ, Peter, Ruhul Amin
|
7 |
Author URI: http://www.tipsandtricks-hq.com/
|