| 开发者 | zerobot |
|---|---|
| 更新时间 | 2026年10月6日 20:03 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
No. Login brute-force protection and the XML-RPC kill switch work right after activation, with no account and no data leaving your site. An account is only needed for network protection.
Network protection pauses and the free protections keep running. If you activate a plan later, the plugin notices within a day (or immediately with "Check again") and switches it back on.
Cloudflare and local reverse proxies (for example nginx in front of Apache) are detected automatically. Behind another CDN, enable "Trust proxy headers" in Protection Settings and check "Your detected IP" on the License page.
No. Jetpack connects to WordPress.com through XML-RPC, so the kill switch stands down while Jetpack is active. Login protection still runs.
No. The default Fail Mode is "Fail Open" — visitors are allowed through silently and the incident is logged to the PHP error log. You can switch to Fail Closed in Protection Settings if you prefer strict security.
Every visitor decision is cached per-IP for 24 hours by default, so repeat visitors do not trigger additional API calls. A page that gets 1,000 hits/hour from returning visitors typically results in only a handful of API calls.
No. The fingerprint collector is disabled by default and only injects on the public site when the administrator turns on "Browser Fingerprint" under Protection Settings.
Yes — the REST API Guard auto-exempts /wc/store/ routes. Add other custom routes to the
exempt list as needed.
Single-site only for now.
Helpers::countryNameToCode() lookup resolves names to
codes, and the flag image renders before the country name on every
log row.$_SERVER['REQUEST_URI'] in XmlRpcGuard::register() is
now run through wp_unslash() and sanitize_text_field() before the
regex match, clearing the two PHPCS warnings about that variable.License::isDomainAuthorized() method that the admin_notices hook called.
The method now exists on the License class, fails open when no
authorization state has been recorded yet, and gets set true/false by
activate() based on whether the auto domain-registration call to the
ZeroBot platform succeeded (HTTP 200) or reported the domain as already
registered (HTTP 409).flagpedia.net/privacy
URL from the External Services section of readme.txt.wp_add_inline_script() attached to the existing zerobot-security-admin
handle, instead of an inline <script> tag. No behavioural change — the
same JS payload is delivered through the official WordPress enqueue API.wp_enqueue_script() with a
script_loader_tag filter for the data attributes, replacing the raw
echo '<script>'. Respects standard WordPress script filters.delete_transient() for each,
so the object cache and transient DB stay in sync.