All In One WP Security & Firewall - Version 3.0

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 Icon 128x128 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 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
- '<br />'.$info_msg.'</p>';
 
 
 
 
 
 
 
 
 
 
 
 
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->sec_level_inter);
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: 2.9
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 = '2.9';
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: v2.9
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/