DoLogin Security
In one click, your WordPress login page will be pretected with the smart brute force attack protection! Any login attempts more than 6 in 10 minutes (default value) will be limited.
Limit the number of login attempts through both the login and the auth cookies.
-
Two-factor Authentication login.
-
Text SMS message passcode for 2nd step verification support.
-
Cloudflare Turnstile (better than Google reCAPTCHA).
-
GeoLocation (Continent/Country/City) or IP range to limit login attempts.
-
Passwordless login link.
-
Support Whitelist and Blacklist.
-
GDPR compliant. With this feature turned on, all logged IPs get obfuscated (md5-hashed).
-
WooCommerce Login supported.
-
XMLRPC gateway protection.
API
-
Call the function
$link = function_exists( 'dologin_gen_link' ) ? dologin_gen_link( 'your plugin name or tag' ) : '';to generate one passwordless login link for the current user. -
Call the function
$link = function_exists( 'dologin_gen_link' ) ? dologin_gen_link( 'note/tip for this generation', $user_id ) : '';to generate a passwordless login link for the user which ID is$user_id.
The generated one-time used link will be expired after 7 days.
- Define const
SILENCE_INSTALLto avoid redirecting to setting page after installtion.
CLI
-
List all passwordless links:
wp dologin list -
Generate a passwordless link for one username (for the login name
root):wp dologin gen root -
Delete a passwordless link w/ the ID in list (for the record w/ ID 5):
wp dologin del 5
How GeoLocation works
When visitors hit the login page, this plugin will lookup the Geolocation info from API, compare the Geolocation setting (if has) with the whitelist/blacklist to decide if allow login attempts.
Privacy
The online IP lookup service is provided by https://www.doapi.us. The providerβs privacy policy is https://www.doapi.us/privacy.
Based on the original code from Limit Login Attemps plugin and Limit Login Attemps Reloaded plugin.
| Domain | Exposures | Headers | Last Checked |
|---|---|---|---|
| m*g*s*n*i*a*e*l*.com | C | 2026-05-04 04:40:03 | |
| v*b*t*m.com (WP 6.9.4) | F | 2026-05-03 22:20:54 | |
| v*b*t*e.com (WP 6.9.4) | F | 2026-05-03 22:20:54 | |
| v*b*t*a.com (WP 6.9.4) | F | 2026-05-03 22:20:54 | |
| v*b*t*o.com (WP 6.9.4) | F | 2026-05-03 22:20:54 | |
| v*b*t*k.com (WP 6.9.4) | F | 2026-05-03 22:20:54 | |
| v*b*t*o.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*m.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*c.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*i.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*g.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*v.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*o.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*i.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*z.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*m.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*c.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*u.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*i.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| v*b*t*e.com (WP 6.9.4) | F | 2026-05-03 22:20:53 | |
| i*a*i*e*r*a*a*e*y.com (WP 6.7) | F | 2026-05-03 21:40:59 | |
| c*b*a*t*.com (WP 6.8.1) | C | 2026-05-03 08:59:25 | |
| u*n*g*t*a*k.com (WP 6.9.4) | F | 2026-05-03 06:35:47 | |
| m*k*i*.es (WP 6.9.4) | F | 2026-05-03 00:58:53 | |
| i*l*e*i*o*i*l.com (WP 6.9.4) | F | 2026-05-02 13:56:06 | |
| g*n*h*.art (WP 6.9.4) | F | 2026-04-30 17:06:44 | |
| i*t*e*s.com (WP 6.9.4) | B | 2026-04-30 09:51:57 | |
| o*a*t*k*i*a*.com (WP 6.9.4) | F | 2026-04-30 03:46:47 | |
| c*m*l*e*a*h*o*s*o*.com (WP 6.8.1) | A | 2026-04-28 10:49:35 | |
| i*s*i*u*o*m.es (WP 6.9.4) | F | 2026-04-27 17:04:50 | |
| o*i*o*e.com (WP 6.8.1) | C | 2026-04-24 18:33:55 | |
| f*u*e*i*d*v*l*n*i*.com (WP 6.8.5) | F | 2026-04-24 13:16:10 | |
| m*4.com (WP 6.9.4) | F | 2026-04-24 00:21:36 | |
| f*r*t*l*a*s*.com (WP 6.1.1) | F | 2026-04-22 05:37:53 | |
| b*t*c*t*b*.com (WP 6.9.1) | D | 2026-04-21 08:55:48 | |
| h*a*u*i*g*c*a*.com | C | 2026-04-21 00:54:50 | |
| h*a*u*i*a*c*t.com | C | 2026-04-21 00:45:54 | |
| h*a*h*t*u*n*h*n*.com (WP 6.9.4) | F | 2026-04-20 23:27:28 | |
| a*a*e*a.com (WP 6.9.4) | F | 2026-04-20 05:22:59 | |
| b*o*o*m*t*c*.es (WP 6.7.5) | F | 2026-04-20 03:54:00 | |
| a*u*c*f*e*.com (WP 6.9.4) | F | 2026-04-19 16:15:30 | |
| q*i*k*i*d*t*r*.com (WP 6.9.4) | F | 2026-04-19 15:17:35 | |
| v*b*t*e.com (WP 6.9.4) | F | 2026-04-18 09:18:03 | |
| o*e*r*b*t*.com | F | 2026-04-17 06:18:31 | |
| v*b*t*t.com (WP 6.9.4) | F | 2026-04-14 05:48:10 | |
| s*m*-*a*.com (WP 6.9.4) | F | 2026-04-13 21:58:29 | |
| m*r*n*e*t*d*o.com (WP 6.9.4) | F | 2026-04-13 12:21:30 | |
| y*o*h*e.com (WP 6.9.4) | F | 2026-04-13 06:15:05 | |
| q*i*i*.com (WP 6.8.1) | C | 2026-04-11 09:33:15 | |
| d*b*a*n*t*r*.com (WP 6.9.4) | F | 2026-04-11 00:51:02 | |
| g*m*o*a.com (WP 6.8.1) | C | 2026-04-10 07:06:22 | |
| s*y*o*a*.com (WP 6.7.2) | F | 2026-04-09 22:33:49 | |
| x*r*s*o*.com (WP 6.9.4) | F | 2026-04-09 17:58:35 | |
| l*c*a*9*0.com | F | 2026-04-09 05:03:30 | |
| t*n*o*r*i*g.com | F | 2026-04-08 18:09:50 | |
| a*r*s*n*.com (WP 6.9.4) | F | 2026-04-07 16:22:56 | |
| c*c*k*s*s.com (WP 6.9.4) | F | 2026-04-04 16:32:01 | |
| v*n*i*a*.com | β | 2025-11-11 07:48:52 | |
| p*p*i*e*i*l*g*c*.com | β | 2025-11-09 18:53:10 | |
| i*d*a*n*t*r*l*e*s*n*j*w*l*e*y.com | β | 2025-11-08 07:36:24 | |
| g*m*t.com | β | 2025-11-07 21:53:29 | |
| e*l*e*e*h.com | β | 2025-11-07 10:47:15 | |
| b*l*a*i*s*o*.com | β | 2025-11-06 10:12:37 |