跳至内容
WordPress.org

China 简体中文

  • 主题
  • 插件
  • 新闻
    • 文档
    • 论坛
  • 关于
  • 获取 WordPress
获取 WordPress
WordPress.org

Plugin Directory

MyFast Login Guard – Login Protection & Server Info

  • 提交插件
  • 我的收藏
  • 登录
  • 提交插件
  • 我的收藏
  • 登录

MyFast Login Guard – Login Protection & Server Info

作者:myfastwebhosting
下载
  • 详情
  • 评价
  • 安装
  • 开发进展
支持

描述

MyFast Login Guard provides two things hosting clients actually need:

Login protection

  • Rename your login page to a custom URL — direct access to /wp-login.php returns a 404
  • Limit login attempts — lock out an IP after a configurable number of failures
  • Configurable lockout duration (default: 5 attempts, 30-minute lockout)
  • IP whitelist — your own IPs are never locked out
  • Optional email notification when a lockout is triggered
  • Manual unlock from the Lockout Log page

Server information and error log

  • Full PHP environment: version, memory, OPcache, extensions, disabled functions, error log path
  • WordPress environment: version, debug flags, memory limits, active plugin count
  • Server details: software, IP, document root, HTTPS status, OS
  • Database: MySQL/MariaDB version, database size
  • Scheduled cron events with overdue detection
  • Error log viewer: reads WordPress debug.log (or PHP error log), filterable by Fatal / Warning / Notice, with one-click clear

Design principles

  • No external API calls
  • No cronjobs
  • No .htaccess rewriting
  • No front-end database queries
  • Assets load only on the plugin’s own admin pages

安装

  1. Upload the myfast-login-guard folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins screen in WordPress
  3. Go to MyFast Login Guard in the admin menu to configure

常见问题

Will renaming my login page break anything?

No. WordPress internal redirects (logout, password reset, registration) continue to work. Only direct access to /wp-login.php returns a 404 for logged-out visitors.

What happens if I forget my custom login slug?

You have two options:

  1. Visit /wp-admin/ — WordPress will redirect you to the login page at the correct URL.
  2. Add define( 'MFLG_DISABLE_LOGIN_SLUG', true ); to your wp-config.php to temporarily restore /wp-login.php access without deactivating the plugin.

What happens if I lock myself out?

Add your IP address to the Whitelist IPs field in Settings. If you are already locked out, connect via FTP/SSH, open wp-config.php, and add:
define( ‘MFLG_DISABLE_LOGIN_SLUG’, true );
Then log in normally, unlock your IP from the Lockout Log page, and remove the constant.

Does this replace a firewall or security plugin?

No. It is a lightweight complement — it stops brute-force login attempts and gives you visibility into your server environment. It does not scan files, block requests at the firewall level, or monitor for malware.

How are IP addresses detected?

The plugin uses REMOTE_ADDR (the actual TCP connection IP) as the primary source. If the site is behind Cloudflare, the CF-Connecting-IP header is trusted only when the connection originates from a verified Cloudflare IP range. Forwarded headers such as X-Forwarded-For that can be spoofed by clients are intentionally ignored.

Is the lockout data cleaned up on uninstall?

Yes. Uninstalling the plugin removes all plugin settings and lockout records from wp_options.

评价

Solid safety tool

johnnydating 2026 年 5 月 20 日
A solid and reliable safety tool that gives peace of mind to any website operator.

An excellent plugin with lots of good features

jessicapatterson123 2026 年 5 月 20 日
An excellent plugin with lots of good features
阅读所有2条评价

贡献者及开发者

「MyFast Login Guard – Login Protection & Server Info」是开源软件。 以下人员对此插件做出了贡献。

贡献者
  • myfastwebhosting

帮助将「MyFast Login Guard – Login Protection & Server Info」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志。

更新日志

1.3.7

  • Fixed: Suppressed undefined variable notices from WordPress core wp-login.php triggered when custom login slug is used.
  • Fixed: WordPress admin notices no longer appear inside plugin pages.
  • Fixed: Clear log button now shows for any writable log file, not only the WordPress debug log.
  • Fixed: Clearing large log files (100MB+) no longer fails due to memory limits — now uses fopen truncate instead of loading file into memory.

1.3.6

  • Renamed: Plugin renamed to MyFast Login Guard & Server Info with new slug myfast-login-guard and mflg_ prefix throughout.
  • Fixed: All CSS class names updated from lssi- to mflg- prefix for uniqueness compliance.
  • Fixed: Inline block removed from lockout log page — now uses enqueued lockouts.js.
  • Fixed: Removed unused lockouts database table — lockout data stored cleanly in wp_options.
  • Fixed: Activation/deactivation hooks converted from anonymous closures to named functions.
  • Fixed: Transient cleanup queries now use $wpdb->prepare() for full PHPCS compliance.
  • Fixed: Cloudflare cache purge hook removed entirely per WP.org reviewer requirement.
  • Fixed: wp_cache_delete() added before wp_localize_script() to guarantee fresh settings on page load.
  • Fixed: Login slug reserved-word validation added client-side with clear error message.
  • Fixed: Emergency escape hatch constant renamed to MFLG_DISABLE_LOGIN_SLUG.
  • Improved: Error log path detection now checks ini_get(‘error_log’) as first candidate.
  • Improved: Server info table stacks label above value on mobile instead of horizontal scroll.
  • Improved: Export for Support button min-height corrected on mobile.

1.3.1

  • Fixed: Text domain reverted to login-shield-server-info to match plugin folder name (Plugin Check compliance).
  • Fixed: Removed discouraged load_plugin_textdomain() call (auto-loaded by WordPress.org since WP 4.6).
  • Fixed: Replaced fopen/fclose with WP_Filesystem in error-log.php and server-info.php.
  • Fixed: Replaced parse_url() with wp_parse_url() in login-protect.php.
  • Fixed: Added wp_unslash() to all $_SERVER reads in server-info.php.
  • Fixed: Unescaped output — $status_label now uses wp_kses(), $icon uses wp_kses(), min() wrapped in esc_attr().
  • Fixed: Ordered placeholders (%1$d, %2$s) and added translators comments in server-info.php and login-protect.php.
  • Fixed: Added phpcs:ignore with justification for third-party hook names, read-only GET params, and socket fclose.
  • Fixed: uninstall.php table variable renamed with lssi_ prefix.
  • Fixed: Upgrade notices trimmed to under 300 characters.

1.3.0

  • Updated text domain from login-shield-server-info to fastshield-security to match the approved WordPress.org plugin slug.

1.2.9

  • Fixed: Updated “Tested up to” to WordPress 6.9.

1.2.8

  • Fixed: Removed duplicate Plugin URI (was identical to Author URI) per WordPress.org submission requirements.

1.2.7

  • Renamed plugin to MyFast Login Guard – Login Protection & Server Info to comply with WordPress.org naming guidelines.

1.2.6

  • Security: Validate error log tab parameter against known tab whitelist before use in URL output (was sanitize_key only).
  • Code quality: Added phpcs ignore with full justification comment for shell_exec inode check — path escaped via escapeshellarg(), output parsed as integers only.

1.2.5

  • Fixed: Missing return statements after wp_send_json_error() in AJAX handlers — code after the error response could execute.
  • Fixed: Uninstall now also removes the lssi_lockouts option from wp_options (previously only the DB table was dropped).
  • Fixed: Removed dead lssi_utilities_page() function — the page was unreachable with no menu entry.
  • Fixed: Removed wp-components from script dependencies (only wp-element is actually used).

1.2.4

  • Fixed: Removed the Utilities submenu page which was causing 404 errors on some hosts. The AJAX cache clear remains available in Settings. Any bookmarked lssi-utilities URLs now redirect cleanly to Settings.

1.2.3

  • Security: Rewrote IP detection to use REMOTE_ADDR as ground truth; CF-Connecting-IP is now only trusted when REMOTE_ADDR is a verified Cloudflare edge IP. X-Forwarded-For and X-Real-IP removed to prevent spoofing.
  • Code quality: Moved login-page CSS from inline output to enqueued assets/css/login.css per WordPress coding standards.
  • Usability: Added MFLG_DISABLE_LOGIN_SLUG constant as an emergency escape hatch for locked-out administrators.
  • Docs: Expanded readme.txt FAQ with lockout recovery instructions and IP detection explanation.

1.2.2

  • Mobile: Lockout log table now stacks as labelled cards on small screens.
  • Mobile: Custom login slug and lockout email inputs stack full-width on mobile.
  • Error log: Tabs moved inside the log card for discoverability on both mobile and desktop.

1.2.1

  • Fixed: wp_login_failed hook signature made compatible with WordPress < 5.4.
  • Fixed: authenticate filter now only runs on POST submissions, not every page load.
  • Added: Attempts-remaining counter shown on the login page after a failed attempt.

1.2.0

  • Added brute-force lockout engine: tracks failed attempts per IP, locks out after configurable threshold, sends email notification, auto-expires lockouts.
  • Added Unlock and Clear All buttons to Lockout Log page.

1.1.9

  • Fixed asset paths, admin menu parent slug, activation hook, and lssi_get() signature.

1.0.0

  • Initial release.

额外信息

  • 版本 1.3.7
  • 最后更新:1 周前
  • 活跃安装数量 不到10
  • WordPress 版本 6.0 或更高版本
  • 已测试的最高版本为 6.9.4
  • PHP 版本 8.0 或更高版本
  • 语言
    English (US)
  • 标签
    Brute Forceerror loglimit login attemptslogin protectionserver info
  • 高级视图

评级

5 星(最高 5 星)。
  • 2 条 5 星评价 5 星 2
  • 0 条 4 星评价 4 星 0
  • 0 条 3 星评价 3 星 0
  • 0 条 2 星评价 2 星 0
  • 0 条 1 星评价 1 星 0

Your review

查看全部评论

贡献者

  • myfastwebhosting

支持

有话要说吗?是否需要帮助?

查看支持论坛

  • 关于
  • 新闻
  • 主机
  • 隐私
  • 陈列窗
  • 主题
  • 插件
  • 区块样板
  • 学习
  • 支持
  • 开发者
  • WordPress.tv ↗︎
  • 参与
  • 活动
  • 捐赠 ↗
  • 未来五分计划
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

China 简体中文

  • 关注我们的 X(原 Twitter)账号
  • 访问我们的 Bluesky 账号
  • 关注我们的 Mastodon 账号
  • 访问我们的 Threads 账号
  • 访问我们的 Facebook 公共主页
  • 关注我们的 Instagram 账号
  • 关注我们的 LinkedIn 主页
  • 访问我们的 TikTok 账号
  • 访问我们的 YouTube 频道
  • 访问我们的 Tumblr 账号
代码如诗
The WordPress® trademark is the intellectual property of the WordPress Foundation.