跳至主要內容
WordPress.org

Taiwan 正體中文

  • 佈景主題目錄
  • 外掛目錄
  • 最新消息
  • 技術支援
  • 關於我們
  • 團隊
  • 取得 WordPress
取得 WordPress
WordPress.org

Plugin Directory

IC Security Guard

  • 提交外掛
  • 我的最愛
  • 登入
  • 提交外掛
  • 我的最愛
  • 登入

IC Security Guard

由 ITclan BD 開發
下載
  • 詳細資料
  • 使用者評論
  • 安裝方式
  • 開發資訊
技術支援

外掛說明

IC Security Guard is a lightweight, all-in-one security hardening plugin that protects your WordPress site from brute force login attacks, REST API abuse, and XML-RPC amplification attacks — and keeps your site owner informed in real time when an attack is blocked.

Instead of leaving wp-login.php, /wp-admin, xmlrpc.php, and the REST API open for anyone to probe, IC Security Guard lets you move your login page to a custom secret URL, lock out anyone who fails to log in too many times, require a one-time email code before login completes, shut down common XML-RPC and REST API attack vectors, and get emailed the moment something is blocked.

Special Features

Hide Default Login Page

  • Hide the default wp-login.php and /wp-admin login pages from unauthenticated visitors
  • Serve the login form only on a custom, secret URL that you choose
  • Redirect anyone hitting the default login URL to a page of your choice, or a plain 404
  • Logged-in users always pass through untouched — no impact on legitimate access

Login Attempt Limiting & Lockout

  • Limit failed login attempts with a configurable maximum
  • Automatic lockout for a configurable duration after too many failed attempts
  • Live countdown timer shown on the login form while locked out
  • Lockout state persists across page reloads and resets automatically once it expires
  • Correct credentials are still rejected while a lockout is active

Email OTP Two-Factor Authentication

  • Optional two-factor authentication using a one-time code sent by email
  • After a correct username and password, the user is redirected to a dedicated verification page
  • A 6-digit code is emailed to the account’s registered email address and must be entered to complete login
  • Configurable code expiry, limited verification attempts, and a resend cooldown to prevent abuse
  • Automatically skipped for REST API and XML-RPC requests so API clients and integrations are not broken

**Note: **Ensure your website’s SMTP/email configuration is working before enabling this feature. Otherwise, OTP verification emails may not be delivered, and users will be unable to complete the login process.

REST API & XML-RPC Brute Force Protection

  • Optionally disable XML-RPC entirely, closing off system.multicall-based amplification attacks that let attackers test hundreds of password combinations in a single request
  • Optionally block unauthenticated REST API user enumeration (/wp-json/wp/v2/users) so attackers cannot harvest valid usernames
  • Failed REST API and XML-RPC authentication attempts share the same per-IP lockout as the login form, so an attacker locked out on one entry point is locked out everywhere

Real-time Email Alerts

  • Get notified by email the moment a security event is blocked: a login lockout, a blocked XML-RPC request, or a blocked REST API user-enumeration attempt
  • Each alert includes the event type, the offending IP address, and the time it occurred
  • A configurable cooldown period per alert type keeps a sustained attack from flooding your inbox
  • Alerts are sent to your site’s admin email address and are fully optional

螢幕擷圖

Backend settings
Backend settings
Change Login Url
Change Login Url

安裝方式

  1. Upload the plugin folder to the /wp-content/plugins/ directory, or install the plugin directly through the WordPress Plugins screen.
  2. Activate the plugin through the “Plugins” screen in WordPress.
  3. Go to Settings → IC Security Guard to configure the plugin.
  4. On the General Settings tab:
    • Enable login attempt limiting and set your maximum failed attempts and lockout duration.
    • Optionally enable “Email OTP Two-Factor Authentication” and set the OTP code expiry.
    • Optionally enable “Disable XML-RPC” and “Block REST API User Enumeration”.
    • Optionally enable “Real-time Email Alerts” and set an alert cooldown.
  5. On the Hide Default Logged-in tab, enable “Hide Default Login Pages”, set your new secret login slug, and optionally set a redirect target for blocked visitors.
  6. Save your changes and bookmark your new login URL before logging out.

常見問題集

What happens if I forget my new login URL?

You can always reach your site’s database (via phpMyAdmin or your host) and update the icsegu_hidelogin_options option in the wp_options table to disable hide_login_url, restoring access to the default wp-login.php.

Will this lock me out of my own site?

Logged-in users are always allowed through to /wp-admin regardless of the hidden login setting. The failed-login lockout only applies to failed authentication attempts, and resets automatically once the configured lockout duration passes.

Does this plugin affect logged-in users?

No. Logged-in users pass through untouched. The hidden login, lockout, REST API, and XML-RPC protections only apply to unauthenticated visitors and failed authentication attempts.

Where is the lockout state stored?

Lockout state is stored per IP address using WordPress transients, so it persists across page reloads and works with whatever caching layer your site already uses. The same lockout state is shared by the login form, the REST API, and XML-RPC.

How does Email OTP Two-Factor Authentication work?

When enabled, after a user enters the correct username and password, they are redirected to a dedicated verification page and emailed a 6-digit code (sent to their WordPress account email address). The code must be entered within the configured expiry window to complete login. Codes can be resent with a short cooldown between requests, and login only completes after the correct code is verified. This step is automatically skipped for REST API and XML-RPC requests, since application passwords and API integrations authenticate programmatically and have no page to display a challenge on.

What does disabling XML-RPC protect against?

XML-RPC’s system.multicall method allows an attacker to test many username/password combinations in a single HTTP request, bypassing typical per-request throttling. Enabling “Disable XML-RPC” turns off the XML-RPC endpoint entirely. If you rely on XML-RPC for a mobile app, Jetpack, or another integration, leave this option off — any failed XML-RPC login attempts are still covered by the shared lockout.

What does blocking REST API user enumeration protect against?

By default, WordPress’s REST API exposes a list of registered usernames at /wp-json/wp/v2/users to anyone, even when logged out. Attackers use this to harvest valid usernames before a brute-force attempt. Enabling “Block REST API User Enumeration” returns an authorization error for unauthenticated requests to this endpoint, while logged-in requests are unaffected.

Will I get an email for every single failed login?

No. Real-time email alerts are sent once per alert type whenever an event first triggers, then suppressed for the configured cooldown period (15 minutes by default) even if the same type of event keeps happening. This keeps you informed without flooding your inbox during a sustained attack.

Is .htaccess or wp-config.php hardening included?

Those sections are currently marked “Coming soon” in the plugin settings and will be added in a future release.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈IC Security Guard〉的開發相關工作。

參與者
  • ITclan BD

將〈IC Security Guard〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄。

變更記錄

1.3.0

  • Added an SMTP setup reminder to help users avoid email delivery issues.

1.2.0

  • Added optional REST API & XML-RPC brute force protection: disable XML-RPC entirely, block unauthenticated REST API user enumeration, and share the login lockout state across the login form, REST API, and XML-RPC.
  • Added optional real-time email alerts for login lockouts, blocked XML-RPC requests, and blocked REST API user-enumeration attempts, with a configurable per-alert-type cooldown.
  • Email OTP Two-Factor Authentication is now automatically skipped for REST API and XML-RPC requests to avoid breaking application password and API-based logins.

1.1.0

  • Added optional Email OTP Two-Factor Authentication with a dedicated verification page.

1.0.0

  • Initial release.
  • Hide default login page and serve login only on a custom URL.
  • Configurable failed login attempt limiting with automatic lockout.
  • Live countdown timer on the login form during lockout.

中繼資料

  • 版本 1.3.0
  • 最後更新 5 天前
  • 啟用安裝數 少於 10 次
  • WordPress 版本需求 6.5 或更新版本
  • 已測試相容的 WordPress 版本 7.0.3
  • PHP 版本需求 7.4 或更新版本
  • 語言
    English (US)
  • 標籤:
    Brute Forcelogin securityrest-apisecuritytwo factor authentication
  • 進階檢視

評分

這個項目尚無任何評論記錄。

Your review

查看全部使用者評論

參與者

  • ITclan BD

技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

檢視技術支援論壇

  • 關於我們
  • 最新消息
  • 主機代管
  • 隱私權
  • 展示網站
  • 佈景主題目錄
  • 外掛目錄
  • 區塊版面配置目錄
  • Learn
  • 技術支援
  • 開發者資源
  • WordPress.tv ↗
  • 共同參與
  • 活動
  • 贊助基金會 ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Taiwan 正體中文

  • 查看我們的 X (之前的 Twitter) 帳號
  • 造訪我們的 Bluesky 帳號
  • 造訪我們的 Mastodon 帳號
  • 造訪我們的 Threads 帳號
  • 造訪我們的 Facebook 粉絲專頁
  • Visit our Instagram account
  • Visit our LinkedIn account
  • 造訪我們的 TikTok 帳號
  • Visit our YouTube channel
  • 造訪我們的 Tumblr 帳號
程式碼,如詩
The WordPress® trademark is the intellectual property of the WordPress Foundation.