plugin-icon

Admin Safety Guard — Login Security, Limit Logins, 2FA & Brute Force Protection

作者:Themepaste·
Stop brute force attacks for free. Limit login attempts, add 2FA and reCAPTCHA, hide wp-login.php, block IPs and see every login on your site.
评级
5
版本
1.4.0
活跃安装
20
最后更新
Jul 29, 2026
Admin Safety Guard — Login Security, Limit Logins, 2FA & Brute Force Protection

Admin Safety Guard locks down the two places WordPress sites actually get broken into: the login form and the admin area.

You don’t need to know what a firewall rule is to use it. Turn on a switch, pick a number, save. The plugin handles the rest and shows you, in plain words, what it blocked and what still needs your attention.

If you have ever looked at your login log and seen hundreds of failed attempts for a user called “admin” that you never created, this plugin is for you.

How WordPress sites get broken into

Almost every automated attack follows the same three steps:

  1. A bot loads yoursite.com/wp-login.php, because that address is the same on every WordPress site in the world.
  2. It guesses usernames and passwords, thousands of times an hour, until one works.
  3. Once it’s in, it installs a backdoor, injects spam links, or quietly adds itself as an administrator.

Admin Safety Guard breaks that chain at every step, and every feature below is free.

Free features

Limit login attempts (on by default) Lock out an IP address after a set number of failed sign-ins. You choose how many attempts are allowed, how long the lockout lasts, and what the person sees. Keep failing and the address is blocked for a full 24 hours. This is the one feature that switches itself on when you activate the plugin, so your site is covered before you configure anything.

It doesn’t only watch wp-login.php. XML-RPC, application passwords and custom theme login forms all count towards the same limit, which is how most bots get around simpler login limiters.

Add your own IP to the trusted list so you can never lock yourself out. Single addresses, CIDR ranges (203.0.113.0/24), wildcards (203.0.113.*) and IPv6 all work.

Custom login URL Move your sign-in page to an address only you know, like yoursite.com/office-door. After that, wp-login.php and wp-register.php return a 404 for everyone, so scanners find nothing to attack. It works on root installs, WordPress in a subfolder, and multisite. Reserved slugs that would break your site are rejected before you can save them.

Two-factor authentication by email After the password comes a one-time code, sent to the user’s inbox. A stolen password on its own becomes useless. You decide which roles need it (administrators and editors only, for example), how many digits the code has, how long it stays valid, and how many wrong guesses are allowed before it’s destroyed. The email is styled by default, and you can write your own subject and body if you’d rather.

Google reCAPTCHA (v2 and v3) Add reCAPTCHA to your login form to stop bots before they ever submit a password. Both the “I’m not a robot” checkbox and the invisible v3 score check are supported. Paste in your site key and secret key, pick a version, done.

Session security Everything above protects the sign-in. This protects what happens after it. WordPress keeps a session alive for two days, or fourteen if someone ticked “Remember Me” – however long the laptop sits open in a coffee shop.

Sign people out after a period of inactivity, shorten the maximum session length, end every other session when someone changes their password, and optionally tie a session to the IP address it started from so a copied cookie stops working elsewhere.

IP blocking Some addresses don’t deserve a second chance. Add them to the permanent block list and they never reach your login page again. You can also block an address in one click straight from the login log.

Login logs and activity tracking A real audit trail: every successful sign-in and every failed attempt, with username, IP address, browser, and timestamp. Search it, sort it, page through it, export it to CSV for a client report, or clear out old entries by date range.

You can also get an email the first time an administrator signs in from an address that account has never used before. That’s often the earliest sign that a password has leaked.

Threats blocked Every block the plugin performs is recorded in one place: lockouts, blocked addresses, failed reCAPTCHA checks, wrong two-factor codes, blocked XML-RPC requests, username-discovery attempts. The dashboard shows what was stopped and when, so “is anything actually happening?” has a real answer.

Security score The score grades your site, not the plugin. It checks the things that matter – HTTPS, whether core and PHP are current, whether an account is literally called “admin”, whether your usernames are public, whether file editing is still enabled – and weighs them against the protections you have switched on. Anything critical gets flagged at the top of your admin screen until it’s dealt with.

Privacy hardening Nine one-click switches that close the small leaks attackers use for reconnaissance:

  • Disable XML-RPC
  • Block username discovery through ?author=1 and the REST users endpoint
  • Show one generic error instead of telling people which half of the login was wrong
  • Hide your WordPress version from page source, feeds and asset URLs
  • Remove the RSD, Windows Live Writer and shortlink meta tags
  • Disable pingbacks so your site can’t be used to flood someone else’s
  • Disable the theme and plugin file editors
  • Send browser security headers (clickjacking, MIME sniffing, referrer leaks, camera and microphone access)
  • Disable application passwords

Password protect the whole site Put a password in front of everything. Handy for staging sites, client previews and coming-soon pages. Choose how long access lasts and which roles skip it.

Hide the admin bar by role Decide which roles see the toolbar on the front end. Hide it from subscribers and customers, keep it for editors and administrators.

Brand your login page Swap the WordPress logo for yours, set its size, where it links to, and its alt text. Change the page background (colour or image), the form background, text, link and button colours, round off the corners, hide the links you don’t want, tick “Remember Me” by default, or write your own CSS. Ready-made templates are included if you’d rather not fiddle.

Firewall and malware overview One screen showing your firewall status, with a link to our free Deep Malware Cleaner plugin for scanning and cleanup. If it’s already installed, the screen takes you straight to it.

Pro features

Admin Safety Guard Pro adds the tools agencies and busier sites tend to ask for.

Passwordless login (magic links) Users click a one-time link in their email instead of typing a password. The link works once and then expires.

2FA with an authenticator app Google Authenticator, Authy and anything else that speaks TOTP. Users scan a QR code once and generate codes on their phone from then on – no email delivery to wait for.

Social login Let people sign in with Google, Facebook or other accounts they already have, while you keep control of which providers are allowed.

Database prefix check The default wp_ prefix is known to every attacker and makes SQL injection easier to write. This finds your current prefix and walks you through changing it safely.

Strong password enforcement Set a minimum password strength. Weak passwords get rejected at the point they’re created, not after an incident.

Advanced web application firewall Inspect incoming requests and block SQL injection and cross-site scripting payloads before WordPress ever sees them. Run it in monitor-only mode first, whitelist trusted addresses, block user agents, and cap request size.

Malware scanning and cleanup Handled by our separate free plugin, Deep Malware Cleaner, rather than a second half-built scanner in here.

Upgrade to Pro to unlock all Pro features.

Who uses it

Bloggers and content creators – protection that runs in the background with nothing to maintain.

Small business owners – your site is your shopfront. A hack costs you customers and takes days to clean up.

WooCommerce stores – customer records, addresses and order history sit behind that login form. Lock it properly.

Freelancers and web designers – hand over a site that’s already hardened and branded, without a security bill attached.

Agencies – the same repeatable setup across every client site, with logs you can export when someone asks what happened.

Developers – every limit, message and redirect is configurable, and the features are built on standard hooks and filters you can extend.

What’s different about it

  • Light. Admin assets only load on the plugin’s own screens, and only the code for the screen you’re actually looking at. Nothing is added to your front end.
  • Useful straight away. Limit login attempts switches itself on at activation. You’re protected before you open the settings.
  • Honest about free vs Pro. Pro features are visible and clearly labelled. Nothing pretends to be free and then asks for a card.
  • Written to WordPress standards. Inputs sanitised, output escaped, nonces on every request, prepared statements on every query, and a real uninstall routine that removes its own data when you delete it.

Support

Free support is on the WordPress.org forum. For anything Pro-related or urgent, use our contact form.

External Services

This plugin uses the following third-party and external services:

1) Google reCAPTCHA (Google LLC)

Purpose: Used to protect forms from spam and automated abuse.

When it is used: – When reCAPTCHA is enabled in plugin settings – On login forms and support forms protected by reCAPTCHA

What data is sent: – User IP address – reCAPTCHA response token generated by Google – Browser information as required by Google reCAPTCHA

Service provider: Google LLC

Terms of Service: https://policies.google.com/terms

Privacy Policy: https://policies.google.com/privacy

2) ThemePaste API (Plugin Author Service)

Purpose: Used for: – Collecting optional admin email addresses for plugin updates and notifications – Sending support requests from the plugin support form – Collecting optional feedback when a user attempts to deactivate the plugin – Managing plugin-related notifications (only if the user provides contact details)

When it is used: – When a user submits the built-in support form – When a user opts to send diagnostic information – Submitting the optional deactivation feedback form

What data is sent: – Name – Email address – Phone number (if provided) – Message content – Site URL – Plugin name – Feedback text (if provided) – Support message content – Deactivation reason (if provided)

No data is sent without user action.

Service provider: ThemePaste.com

Terms of Service: https://themepaste.com/terms-condition

Privacy Policy: https://themepaste.com/privacy-policy

Development / Source Code

This plugin ships compiled JavaScript bundles in: – assets/admin/build/*.bundle.js

The original, human-readable source files are included in this plugin under: – spa/admin/

They are also available at https://github.com/themepaste/admin-safety-guard

Build Tools – Node.js (LTS recommended) – npm – Webpack + Babel

Source Entry Points The admin SPA bundles are built from the following entry points:

  • spa/admin/login-template/Main.jsx -> assets/admin/build/loginTemplate.bundle.js
  • spa/admin/login-logs-activity/Main.jsx -> assets/admin/build/loginLogActivity.bundle.js
  • spa/admin/analytics/Main.jsx -> assets/admin/build/analytics.bundle.js
  • spa/admin/security-core/Main.jsx -> assets/admin/build/securityCore.bundle.js
  • spa/admin/firewall-malware/Main.jsx -> assets/admin/build/firewallMalware.bundle.js
  • spa/admin/privacy-hardening/Main.jsx -> assets/admin/build/privacyHardening.bundle.js
  • spa/admin/2fa-using-mobile-app/Main.jsx -> assets/admin/build/twoFAUsingMobileApp.bundle.js

React and the webpack runtime are extracted into shared chunks (framework.bundle.js and runtime.bundle.js) so they are downloaded once rather than being inlined into every bundle.

Install Dependencies From the plugin root directory (where package.json lives):

1) Install dependencies: npm install

Build (Production) To generate the production bundles:

npm run build

Output Location Webpack outputs the compiled bundles to:

  • assets/admin/build/[name].bundle.js

Important Notes – Do not edit files in assets/admin/build/ directly. They are generated files. – Edit the source files under spa/admin/ and re-run the build command. – For WordPress.org distribution, production builds should be used (mode=production).

Links

Website Documentation Pro Version Facebook Pinterest LinkedIn Instagram

免费基于付费套餐
通过安装,您同意 WordPress.com 服务条款第三方插件条款
目前已测试版本
WordPress 7.0.2
这个插件是可用的下载,适用于您的站点。