| 开发者 | reportedip |
|---|---|
| 更新时间 | 2026年5月20日 19:33 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp_login_failed increments a per-IP counter using an atomic upsert (no race conditions under concurrent attacks).wp_authenticate_user short-circuits known-bad IPs before the WordPress core authentication runs.Cache-Control: no-store, no-cache, must-revalidate, max-age=0 and Pragma: no-cache headers on the block page.wp_salt(). Plain-text usernames are never persisted or transmitted.reportedip_hive_is_whitelisted, reportedip_hive_get_client_ip, reportedip_hive_event_category_map, reportedip_hive_api_endpoint.reportedip_hive_log, reportedip_hive_ip_blocked, reportedip_hive_report_queued.reportedip-hive folder to /wp-content/plugins/, or install via Plugins → Add New.Register at reportedip.de. The Community Access Key tier is free.
Yes. The default mode is Local Shield, which uses only your site's data and does not contact any external service. The plugin remains fully functional.
It might, if you fail logins repeatedly from your own IP. To recover, either wait until the block expires or delete the row from the wp_reportedip_hive_blocked database table (e.g. via phpMyAdmin or WP-CLI: wp db query "DELETE FROM wp_reportedip_hive_blocked WHERE ip_address = 'YOUR_IP'").
Visit ReportedIP Hive Light → Blocked IPs, select the row, and choose "Unblock selected" from the bulk actions menu.
In Community Network mode only: the IP address, a SHA-256 hash of the submitted username (salted with wp_salt()), an integer category ID for the event type, and an optional comment. Plain-text usernames, passwords, domains, or contact details are never transmitted. See the "External services" section for full details.
No. This release protects standard wp-login.php logins. Application Passwords use a separate authentication path that is not currently monitored.
Yes. WooCommerce uses the standard wp_login_failed action, which the plugin listens to. WooCommerce login attempts are counted alongside regular login attempts.
Set Trusted Proxy Header in Settings → Connection to CF-Connecting-IP. Only enable this when your reverse proxy reliably overrides the header on every incoming request — otherwise the header can be spoofed.
reportedip-hive_page_* to
reportedip-hive-light_page_*, but the enqueue gate still matched the
old prefix and silently skipped the asset enqueue. Hook suffixes are
now captured from the menu-API return values so the gate stays
correct regardless of the menu title.wp_login_failed now short-circuits when the
source IP is already blocked, and queue_api_report deduplicates
against any open (pending or processing) report for the same IP.
One incident yields exactly one outbound community report instead of
one per retry; the block-escalation ladder no longer steps on every
attempt against an already-locked door..git to .distignore so the GitHub-Actions deployment no longer
copies the repository's Git metadata directory into the wp.org SVN.
The 1.3.2 release accidentally shipped a trunk/.git/ and
tags/1.3.2/.git/; both have been removed from SVN.Service provider section of the
readme and convert the existing reportedip.de URLs to Markdown links so
the wp.org renderer turns them into clickable anchors.DONOTCACHEPAGE / DONOTCACHEDB / DONOTCACHEOBJECT defines
from the block-response path. The HTTP 403 status plus explicit
Cache-Control: no-store and Pragma: no-cache headers continue to
instruct WP Rocket, W3 Total Cache, WP Super Cache and LiteSpeed not to
cache the block page.readme.txt to point at the canonical
Impressum, Nutzungsbedingungen and Datenschutzerklaerung pages on
reportedip.de.