Limit Login Attempts

Limit Login Attempts

johanee

Limit the number of login attempts possible both through normal login as well as using auth cookies.

By default WordPress allows unlimited login attempts either through the login page or by sending special cookies. This allows passwords (or hashes) to be brute-force cracked with relative ease.

Limit Login Attempts blocks an Internet address from making further attempts after a specified limit on retries is reached, making a brute-force attack difficult or impossible.

Features

  • Limit the number of retry attempts when logging in (for each IP). Fully customizable
  • Limit the number of attempts to log in using auth cookies in same way
  • Informs user about remaining retries or lockout time on login page
  • Optional logging, optional email notification
  • Handles server behind reverse proxy
  • It is possible to whitelist IPs using a filter. But you probably shouldn’t. 🙂

Translations: Bulgarian, Brazilian Portuguese, Catalan, Chinese (Traditional), Czech, Dutch, Finnish, French, German, Hungarian, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish

Plugin uses standard actions and filters only.

Why not reset failed attempts on a successful login?

This is very much by design. Otherwise you could brute force the “admin” password by logging in as your own user every 4th attempt.

What is this option about site connection and reverse proxy?

A reverse proxy is a server in between the site and the Internet (perhaps handling caching or load-balancing). This makes getting the correct client IP to block slightly more complicated.

The option default to NOT being behind a proxy — which should be by far the common case.

How do I know if my site is behind a reverse proxy?

You probably are not or you would know. We show a pretty good guess on the option page. Set the option using this unless you are sure you know better.

Can I whitelist my IP so I don’t get locked out?

First please consider if you really need this. Generally speaking it is not a good idea to have exceptions to your security policies.

That said, there is now a filter which allows you to do it: “limit_login_whitelist_ip”.

Example:
function my_ip_whitelist($allow, $ip) {
return ($ip == ‘my-ip’) ? true : $allow;
}
add_filter(‘limit_login_whitelist_ip’, ‘my_ip_whitelist’, 10, 2);

Note that we still do notification and logging as usual. This is meant to allow you to be aware of any suspicious activity from whitelisted IPs.

I locked myself out testing this thing, what do I do?

Either wait, or:

If you know how to edit / add to PHP files you can use the IP whitelist functionality described above. You should then use the “Restore Lockouts” button on the plugin settings page and remove the whitelist function again.

If you have ftp / ssh access to the site rename the file “wp-content/plugins/limit-login-attempts/limit-login-attempts.php” to deactivate the plugin.

If you have access to the database (for example through phpMyAdmin) you can clear the limit_login_lockouts option in the wordpress options table. In a default setup this would work: “UPDATE wp_options SET option_value = ” WHERE option_name = ‘limit_login_lockouts'”

Love this plugin

By Guido (Guido07111975) on December 3, 2023

I absolutely hate bloated plugins, so I love this one. It's simple and works as expected. Guess it's wise to use a plugin such as this one, against brute force attacks.

Guido

Exactly what is should be

By doreenhawdon on October 1, 2023

Does what it says on the tin. Like another similar plugin before it became bloatware. The only feature I would request is the ability to send notifications to another email address, I like to keep my admin email clean.

Getting a lot better.

By brightvesseldev on October 21, 2021

We had initial issues and tried again and it is working better.

Interesante

By inakijm on December 30, 2020

Se lo pone más dicícil a los hackers que quieren acceder a tu blog ya que les limita el número de accesos.

Not maintained but still works

By wroot on April 29, 2020

Would be good to get new versions and fix possible security issues (if any), but it seems to still work.

Works very well

By purpslisfeedb on April 14, 2020

Works very well

Awesome

By naimansari on September 20, 2019

Awesome Plugin

It still works great!

By Adam (jarfar) on June 24, 2019

well done

After 7 years of no updates... still working well!

By david76oliver on December 4, 2018

I don't know how and why, but this plugin still works really well.

Still works, and it still works well. (WP Version 4.9.8)

By MrsJessicaSimpson on October 10, 2018

This plugin was provided by my host provider when I signed up with THOSTS in December 2017. Was considering deleting it, but, .. this is from it's log as of today 10/10/2018 IP Tried to log in as 91.200.12.28 pigsoft.net (4 lockouts), b92.co.uk (2 lockouts) 91.200.12.65 admin (1 lockout), b92.co.uk (1 lockout) 91.200.12.104 pigsoft.net (1 lockout) 91.200.12.157 b92.co.uk (2 lockouts) 27.151.92.51 dyandoss27289 (1 lockout) 86.49.188.134 admin (1 lockout) 146.185.223.160 admin (1 lockout) 211.245.31.111 michellz047609 (1 lockout) 170.238.36.26 admin (1 lockout) 91.200.12.56 b92.co.uk (4 lockouts) 185.63.254.15 admin (1 lockout) 91.200.12.35 b92.co.uk (5 lockouts), pigsoft.net (1 lockout) And so the list goes on, and one, and on, and on, .. China, Ukraine, France and the good old US of A to name just a few of the look up IPs I could be bothered to do. Script Jockies all of them, but they're not using brute force attacks: especially from reading some of the login (name) attacks that the web boys are using. Later on in that list, are some of the people I've mentioned in my posts: who aren't board members. Conclusion: This Plugin is worth it's weight in gold. Thanks for reading, Jessica: Praise be the ORI.
  1. Download and extract plugin files to a wp-content/plugin directory.
  2. Activate the plugin through the WordPress admin interface.
  3. Customize the settings on the options page, if desired. If your server is located behind a reverse proxy make sure to change this setting.

If you have any questions or problems please make a post here: https://wordpress.org/tags/limit-login-attempts

Reviews

4.6 out of 5 stars

  • Version: 1.7.2
  • Last updated: 1 year ago
  • Active installations: 400K
  • WordPress version: 2.8
  • Tested up to: 6.2.6
  • PHP version: false