Limit Login Attempts Reloaded - Version 2.25.1

Version Description

  • Added setting to turn the dashboard widged off.
  • The widget is visible to admins only.
Download this release

Release Info

Developer wpchefgadget
Plugin Icon 128x128 Limit Login Attempts Reloaded
Version 2.25.1
Comparing to
See all releases

Code changes from version 2.25.0 to 2.25.1

core/LimitLoginAttempts.php CHANGED
@@ -46,7 +46,8 @@ class Limit_Login_Attempts {
46
 
47
  'active_app' => 'local',
48
  'app_config' => '',
49
- 'show_top_level_menu_item' => true
 
50
  );
51
  /**
52
  * Admin options page slug
@@ -140,7 +141,8 @@ class Limit_Login_Attempts {
140
  add_action( 'login_footer', array( $this, 'login_page_gdpr_message' ) );
141
  add_action( 'login_footer', array( $this, 'login_page_render_js' ), 9999 );
142
 
143
- add_action( 'wp_dashboard_setup', array( $this, 'register_dashboard_widgets' ) );
 
144
 
145
  register_activation_hook( LLA_PLUGIN_FILE, array( $this, 'activation' ) );
146
  }
@@ -160,11 +162,14 @@ class Limit_Login_Attempts {
160
  $cookie_name = 'llar_menu_alert_icon_shown';
161
 
162
  if (empty($_COOKIE[$cookie_name])) {
163
- setcookie($cookie_name, '1', time() + 24 * 3600);
164
  }
165
  }
166
 
167
  public function register_dashboard_widgets() {
 
 
 
168
  wp_add_dashboard_widget(
169
  'llar_stats_widget',
170
  __( 'Limit Login Attempts Reloaded', 'limit-login-attempts-reloaded' ),
@@ -1729,6 +1734,7 @@ into a must-use (MU) folder. You can read more <a href="%s" target="_blank">here
1729
  }
1730
 
1731
  $this->update_option('show_top_level_menu_item', ( isset( $_POST['show_top_level_menu_item'] ) ? 1 : 0 ) );
 
1732
 
1733
  $this->update_option('allowed_retries', (int)$_POST['allowed_retries'] );
1734
  $this->update_option('lockout_duration', (int)$_POST['lockout_duration'] * 60 );
46
 
47
  'active_app' => 'local',
48
  'app_config' => '',
49
+ 'show_top_level_menu_item' => true,
50
+ 'hide_dashboard_widget' => false,
51
  );
52
  /**
53
  * Admin options page slug
141
  add_action( 'login_footer', array( $this, 'login_page_gdpr_message' ) );
142
  add_action( 'login_footer', array( $this, 'login_page_render_js' ), 9999 );
143
 
144
+ if( !$this->get_option( 'hide_dashboard_widget' ) )
145
+ add_action( 'wp_dashboard_setup', array( $this, 'register_dashboard_widgets' ) );
146
 
147
  register_activation_hook( LLA_PLUGIN_FILE, array( $this, 'activation' ) );
148
  }
162
  $cookie_name = 'llar_menu_alert_icon_shown';
163
 
164
  if (empty($_COOKIE[$cookie_name])) {
165
+ setcookie($cookie_name, '1', strtotime( 'tomorrow' ));
166
  }
167
  }
168
 
169
  public function register_dashboard_widgets() {
170
+
171
+ if( !current_user_can( 'manage_options' ) ) return;
172
+
173
  wp_add_dashboard_widget(
174
  'llar_stats_widget',
175
  __( 'Limit Login Attempts Reloaded', 'limit-login-attempts-reloaded' ),
1734
  }
1735
 
1736
  $this->update_option('show_top_level_menu_item', ( isset( $_POST['show_top_level_menu_item'] ) ? 1 : 0 ) );
1737
+ $this->update_option('hide_dashboard_widget', ( isset( $_POST['hide_dashboard_widget'] ) ? 1 : 0 ) );
1738
 
1739
  $this->update_option('allowed_retries', (int)$_POST['allowed_retries'] );
1740
  $this->update_option('lockout_duration', (int)$_POST['lockout_duration'] * 60 );
limit-login-attempts-reloaded.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*
3
  Plugin Name: Limit Login Attempts Reloaded
4
- Description: Limit the rate of login attempts for each IP address.
5
  Author: Limit Login Attempts Reloaded
6
  Author URI: https://www.limitloginattempts.com/
7
  Text Domain: limit-login-attempts-reloaded
8
- Version: 2.25.0
9
 
10
  Copyright 2008 - 2012 Johan Eenfeldt, 2016 - 2022 Limit Login Attempts Reloaded
11
  */
1
  <?php
2
  /*
3
  Plugin Name: Limit Login Attempts Reloaded
4
+ Description: Block excessive login attempts and protect your site against brute force attacks. Simple, yet powerful tools to improve site performance.
5
  Author: Limit Login Attempts Reloaded
6
  Author URI: https://www.limitloginattempts.com/
7
  Text Domain: limit-login-attempts-reloaded
8
+ Version: 2.25.1
9
 
10
  Copyright 2008 - 2012 Johan Eenfeldt, 2016 - 2022 Limit Login Attempts Reloaded
11
  */
readme.txt CHANGED
@@ -4,21 +4,21 @@ Donate link: https://www.paypal.com/donate?hosted_button_id=FKD4MYFCMNVQQ
4
  Tags: brute force, login, security, firewall, protection
5
  Requires at least: 3.0
6
  Tested up to: 5.9
7
- Stable tag: 2.25.0
8
 
9
  Block excessive login attempts and protect your site against brute force attacks. Simple, yet powerful tools to improve site performance.
10
 
11
  == Description ==
12
 
13
- Limit Login Attempts Reloaded stops brute-force attacks and optimizes your site performance by limiting the number of login attempts that are possible through the normal login as well as XMLRPC, Woocommerce and custom login pages.
14
 
15
- This plugin will block an Internet address (IP) and/or username from making further attempts after a specified limit on retries has been reached, making a brute-force attack difficult or impossible.
16
 
17
- WordPress by default allows unlimited login attempts. This can lead to passwords being easily cracked via brute-force.
18
 
19
  Limit Login Attempts Reloaded
20
  > <strong>Limit Login Attempts Reloaded Premium Cloud App</strong><br>
21
- > Enables cloud protection for Limit Login Attempts Reloaded plugin. It comes with all the great features you'll need to stop hackers and bots from brute-force attacks. The cloud app <a href="https://www.limitloginattempts.com/features/?from=wp-details">offers several features</a> including advanced protection out of the box, and the ability for site admins and agencies to sync safelists/blocklists across multiple domains. <a href="https://www.limitloginattempts.com/features/?from=wp-details-cta">Click here to activate the cloud app for the best WordPress security plugin now!</a>
22
 
23
  https://www.youtube.com/watch?v=wzmPXu55zLU
24
 
@@ -38,7 +38,7 @@ https://www.youtube.com/watch?v=wzmPXu55zLU
38
  * **Custom IP origins** support (Cloudflare, Sucuri, etc.)
39
 
40
  = Features (Premium Cloud App): =
41
- * **Performance Optimizer** - Brute-force attacks absorbed in the cloud (Up to 100k requests monthly).
42
  * **Throttling** - Longer lockout intervals each time a hacker/bot tries to login unsuccessfully.
43
  * **Auto Backups of All Data**
44
  * **Intelligent IP Blocking/Unblocking** - Make sure the legitimate IP’s are allowed automatically.
@@ -98,6 +98,10 @@ Please follow this link: <a href="https://www.limitloginattempts.com/resources/"
98
 
99
  == Changelog ==
100
 
 
 
 
 
101
  = 2.25.0 =
102
  * Dashboard widged added.
103
  * Security indicator added.
4
  Tags: brute force, login, security, firewall, protection
5
  Requires at least: 3.0
6
  Tested up to: 5.9
7
+ Stable tag: 2.25.1
8
 
9
  Block excessive login attempts and protect your site against brute force attacks. Simple, yet powerful tools to improve site performance.
10
 
11
  == Description ==
12
 
13
+ Limit Login Attempts Reloaded stops brute force attacks and optimizes your site performance by limiting the number of login attempts that are possible through the normal login as well as XMLRPC, Woocommerce and custom login pages. This is the only plugin you'll need for your login security needs with over 2 million downloads worldwide.
14
 
15
+ This plugin will block an Internet address (IP) and/or username from making further attempts after a specified limit on retries has been reached, making a brute force attack difficult or impossible.
16
 
17
+ WordPress by default allows unlimited login attempts. This can lead to passwords being easily cracked via brute force.
18
 
19
  Limit Login Attempts Reloaded
20
  > <strong>Limit Login Attempts Reloaded Premium Cloud App</strong><br>
21
+ > Enables cloud protection for Limit Login Attempts Reloaded plugin and enhances your login security. It comes with all the great features you'll need to stop hackers and bots from brute force attacks. The cloud app <a href="https://www.limitloginattempts.com/features/?from=wp-details">offers several features</a> including advanced protection out of the box, and the ability for site admins and agencies to sync safelists/blocklists across multiple domains. <a href="https://www.limitloginattempts.com/features/?from=wp-details-cta">Click here to activate the cloud app for the best WordPress security plugin now!</a>
22
 
23
  https://www.youtube.com/watch?v=wzmPXu55zLU
24
 
38
  * **Custom IP origins** support (Cloudflare, Sucuri, etc.)
39
 
40
  = Features (Premium Cloud App): =
41
+ * **Performance Optimizer** - Brute force attacks absorbed in the cloud (Up to 100k requests monthly).
42
  * **Throttling** - Longer lockout intervals each time a hacker/bot tries to login unsuccessfully.
43
  * **Auto Backups of All Data**
44
  * **Intelligent IP Blocking/Unblocking** - Make sure the legitimate IP’s are allowed automatically.
98
 
99
  == Changelog ==
100
 
101
+ = 2.25.1 =
102
+ * Added setting to turn the dashboard widged off.
103
+ * The widget is visible to admins only.
104
+
105
  = 2.25.0 =
106
  * Dashboard widged added.
107
  * Security indicator added.
views/tab-settings.php CHANGED
@@ -13,6 +13,7 @@ $v = explode( ',', $this->get_option( 'lockout_notify' ) );
13
  $email_checked = in_array( 'email', $v ) ? ' checked ' : '';
14
 
15
  $show_top_level_menu_item = $this->get_option( 'show_top_level_menu_item' );
 
16
 
17
  $admin_notify_email = $this->get_option( 'admin_notify_email' );
18
  $admin_email_placeholder = (!is_multisite()) ? get_option( 'admin_email' ) : get_site_option( 'admin_email' );
@@ -100,6 +101,13 @@ $active_app_config = $this->get_custom_app_config();
100
  <input type="checkbox" name="show_top_level_menu_item" <?php checked( $show_top_level_menu_item ); ?>> <?php _e( '(Reload the page to see the changes)', 'limit-login-attempts-reloaded' ) ?>
101
  </td>
102
  </tr>
 
 
 
 
 
 
 
103
  <tr>
104
  <th scope="row"
105
  valign="top"><?php echo __( 'Active App', 'limit-login-attempts-reloaded' ); ?></th>
13
  $email_checked = in_array( 'email', $v ) ? ' checked ' : '';
14
 
15
  $show_top_level_menu_item = $this->get_option( 'show_top_level_menu_item' );
16
+ $hide_dashboard_widget = $this->get_option( 'hide_dashboard_widget' );
17
 
18
  $admin_notify_email = $this->get_option( 'admin_notify_email' );
19
  $admin_email_placeholder = (!is_multisite()) ? get_option( 'admin_email' ) : get_site_option( 'admin_email' );
101
  <input type="checkbox" name="show_top_level_menu_item" <?php checked( $show_top_level_menu_item ); ?>> <?php _e( '(Reload the page to see the changes)', 'limit-login-attempts-reloaded' ) ?>
102
  </td>
103
  </tr>
104
+ <tr>
105
+ <th scope="row"
106
+ valign="top"><?php echo __( 'Hide Dashboard Widget', 'limit-login-attempts-reloaded' ); ?></th>
107
+ <td>
108
+ <input type="checkbox" name="hide_dashboard_widget" <?php checked( $hide_dashboard_widget ); ?>>
109
+ </td>
110
+ </tr>
111
  <tr>
112
  <th scope="row"
113
  valign="top"><?php echo __( 'Active App', 'limit-login-attempts-reloaded' ); ?></th>