| 开发者 | rayetun |
|---|---|
| 更新时间 | 2026年9月7日 13:19 |
| 捐献地址: | 去捐款 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp-login.php: bots hammer it with thousands of username and password guesses. SentriLog counts every failed attempt, locks out offenders automatically, records the whole story, and lets you move the login page somewhere bots can't find it.
Everything runs on your own site. SentriLog makes no external HTTP requests and sends no data to any third party — every lockout, log entry, and setting stays in your own WordPress database. No account, no API key, no tracking.
How SentriLog is built
authenticate, wp_login_failed, wp_login), so WooCommerce, membership, and custom login forms are all coveredsystem.multicall brute-force patternswp-login.php to a secret slug of your choice and block the default endpoint, so automated attacks never even find the login form. A built-in emergency recovery link means you can never be permanently locked out.
🪄 Magic Login
Generate temporary, single-use, passwordless login links for support staff or clients. The temporary user is created on demand and removed automatically the moment the link expires or is revoked — no lingering accounts.
⏲️ Idle Session Timeout
Automatically sign out inactive users after a period you choose, so an unattended browser doesn't become an open door.
🔐 Two-Factor Authentication
Add a second layer to any account — no external service, no account required.
?author=N and author-archive scans, and lock down the REST API users endpoint so attackers can't harvest valid usernamesrayetun_lsn_anonymise_ip filter is available if you want to anonymize stored IP addressesrayetun_login_sentinel_event_logged( $event_type, $user_id, $username, $ip, $extra_data ) — fires after every logged eventrayetun_login_sentinel_lockout_triggered( $ip, $username, $duration, $attempt_count ) — fires when an IP is locked outrayetun_login_sentinel_should_lockout( $should_check, $ip, $username ) — short-circuit the lockout check (e.g. for an allowlist)rayetun_lsn_anonymise_ip — filter stored IP addresses for anonymizationrayetun_login_sentinel_2fa_verified( $user_id ) — fires after a user passes two-factor verificationsentrilog folder to /wp-content/plugins/, or install directly through Plugins → Add New.It can, if you enter the wrong credentials too many times. If it happens, you have three easy ways back in: use the Change Login URL emergency recovery link, temporarily deactivate the plugin by renaming its folder over FTP/SSH, or remove the lockout in your database with DELETE FROM wp_rayetun_lsn_lockouts WHERE ip_address = 'YOUR_IP';.
No. SentriLog makes zero external HTTP requests and sends no data to any third party. Every lockout, log entry, and setting is stored only in your own WordPress database. The dashboard chart uses Chart.js, which is bundled locally in the plugin (MIT licensed) — no CDN, no external host.
Yes. SentriLog hooks WordPress core authentication filters (authenticate, wp_login_failed, wp_login), which fire no matter which login form is used — WooCommerce, BuddyPress, membership plugins, and custom forms are all protected.
Yes. The Change Login URL feature moves wp-login.php to a secret slug you choose and blocks the default endpoint, so bots can't find the form. An emergency recovery link makes sure you can always get back in.
Magic Login creates a temporary, single-use, passwordless login link you can hand to support staff or a client. The temporary user is removed automatically when the link expires or you revoke it — no leftover accounts.
Go to Users → Profile and scroll to the Two-Factor Authentication section. Scan the QR code with any authenticator app, enter the 6-digit code to confirm, and save your profile. You'll be shown a set of backup codes once — store them somewhere safe. From then on, you'll enter a code from your app each time you log in. To turn it off, tick "Disable two-factor authentication" on the same screen and save. (Trusted devices, email codes, and requiring 2FA for whole roles are available in the Pro add-on.)
Yes. SentriLog detects system.multicall brute-force patterns and blocks that request, closing a common password-guessing amplification vector.
SentriLog stores IP addresses in your own database to enforce lockouts and keep an audit trail — IP addresses can be personal data, so you should disclose this in your site's privacy policy. Nothing is ever transmitted to us or any third party, logs are auto-deleted after your chosen retention period, and a rayetun_lsn_anonymise_ip filter is available if you want to anonymize stored IPs.
Yes. Export the activity log to CSV directly from the Activity Log screen, respecting whatever filters you have applied.
Yes. When network-activated, SentriLog creates its tables for each sub-site, and each site keeps its own independent settings and log.
Everything is cleaned up: all custom tables are dropped, plugin options are deleted, any temporary Magic Login users are removed, and scheduled events are cleared. Nothing is left behind.
Post in the WordPress.org support forum. We aim to respond within 24 hours on business days.
.pot file.