WordPress.org

Afaan Oromoo

  • Themes
  • Plugins
  • About
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Limit Login Attempts

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Limit Login Attempts

By Automattic
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

Description

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.

Screenshots

  • Loginscreen after failed login with retries remaining
  • Loginscreen during lockout
  • Administration interface in WordPress 3.0.4

Installation

  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

FAQ

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’”

Reviews

Indispensable Plugin! Vital to the health of my site!

wiitguru March 15, 2025
Thanks, Automattic!!!! This plugin has thwarted over 100 hacking attempts on my website in the last few months! I won’t operate without this plugin!!!

Love this plugin

Guido 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

doreenhawdon 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.

brightvesseldev October 21, 2021
We had initial issues and tried again and it is working better.

Interesante

inakijm 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

wroot April 29, 2020
Would be good to get new versions and fix possible security issues (if any), but it seems to still work.
Read all 202 reviews

Contributors & Developers

“Limit Login Attempts” is open source software. The following people have contributed to this plugin.

Contributors
  • Automattic
  • johanee

“Limit Login Attempts” has been translated into 36 locales. Thank you to the translators for their contributions.

Translate “Limit Login Attempts” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Meta

  • Version 1.7.2
  • Last updated 2 years ago
  • Active installations 400,000+
  • WordPress version 2.8 or higher
  • Tested up to 6.2.6
  • Languages

    Albanian, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Dutch (Belgium), English (Australia), English (Canada), English (New Zealand), English (UK), English (US), Finnish, French (Canada), French (France), Galician, German, Hebrew, Hungarian, Italian, Japanese, Lithuanian, Norwegian (Bokmål), Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Spanish (Chile), Spanish (Spain), Spanish (Venezuela), Swedish, Turkish, and Ukrainian.

    Translate into your language

  • Tags
    authenticationloginsecurity
  • Advanced View

Ratings

4.6 out of 5 stars.
  • 170 5-star reviews 5 stars 170
  • 13 4-star reviews 4 stars 13
  • 3 3-star reviews 3 stars 3
  • 4 2-star reviews 2 stars 4
  • 12 1-star reviews 1 star 12

Add my review

See all reviews

Contributors

  • Automattic
  • johanee

Support

Got something to say? Need help?

View support forum

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Afaan Oromoo

  • Visit our Facebook page
  • Visit our X (formerly Twitter) account
  • Visit our Mastodon account
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our YouTube channel
Code is Poetry.