Linux 软件免费装
Banner图

Onsite Spam Guard

开发者 jeromewincek
更新时间 2026年9月1日 04:22
PHP版本: 8.2 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

comments honeypot spam woocommerce antispam

下载

1.4.0 1.2.0 1.1.3 1.1.2 1.2.1 1.3.0

详情介绍:

Onsite Spam Guard blocks spam on the forms your visitors actually use — WordPress comments, WooCommerce product reviews, and Jetpack contact form blocks — without sending anything to a third-party service, requiring an API key, or putting a CAPTCHA in front of your users. Protection is built from a pipeline of independent guards. Each guard is a small, focused check (a hidden honeypot field, a submit-speed gate, a keyword filter, and so on). Guards run in priority order, and the first one to fail blocks the submission. Every guard can be toggled and tuned from a single settings page, and every block can be logged for review. Spam guards Why you might choose it Works with

安装:

  1. Upload the onsite-spam-guard folder to /wp-content/plugins/, or install it through Plugins → Add New.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Go to Spam Guard → Settings to choose which form types to protect and to enable or tune individual guards.
  4. Review anything that gets blocked under Spam Guard → Spam Logs.
No further configuration is required — sensible defaults are applied on activation.

屏幕截图:

  • The Per-form tab — override any threshold for one form, so a contact form can be stricter than a comment thread. Blank fields use the global value.
  • The Allowlist tab — allowed IPs, CIDR ranges, and emails, plus the trusted-proxy option.
  • The Logging tab — log retention and the option to keep or delete data when the plugin is removed.
  • The Spam Logs viewer — every guard that matched, filters by guard and context, a user-agent column, and per-row and bulk delete actions.

升级注意事项:

1.3.0 Recommended if you use the duplicate or rate-limit guard: both were recording the wrong submissions, which let a bot bypass the rate limit and could refuse a genuine visitor as a duplicate. Upgrades the log table; existing entries are kept and nothing needs reconfiguring. 1.2.1 Fixes IPv6 allowlist entries being ignored, plus two smaller issues. Recommended if you allowlist by IP range. 1.2.0 Adds an optional rate-limit guard and an option to reuse WordPress's own Disallowed Comment Keys on every protected form. Both are off by default; nothing changes unless you enable them. 1.1.3 Compatibility bump for WordPress 7.1. No functional changes. 1.1.2 Renamed to Onsite Spam Guard, plus a capability check on the spam-log bulk delete. Settings and logs carry over unchanged. 1.1.1 Fixes legitimate Jetpack contact form submissions being wrongly flagged as spam. Recommended for anyone protecting Jetpack forms. 1.1.0 Tabbed settings, an option to keep your data on uninstall, and multisite-wide cleanup. 1.0.1 Adds explicit-field support to the integration API for REST/JSON forms and prevents false rejections for content-only integrations. 1.0.0 Initial release.

常见问题:

Does this send my data to any external service?

No. Every check runs on your own server. Nothing about a submission is sent anywhere outside your site.

Will legitimate visitors see a CAPTCHA or extra step?

No. All protection is invisible. The honeypot field is hidden, and the timing and behavioral checks happen in the background.

What does it store, and for how long?

When a submission is blocked (and logging is enabled), the plugin records the guard that blocked it, the form context, the reason, a short excerpt of the content, the visitor IP address, and the browser user-agent. Entries older than the retention window (default 30 days, configurable; set to 0 to keep them indefinitely) are pruned automatically. The plugin also registers suggested privacy-policy text you can add to your site's policy.

I'm behind Cloudflare or a load balancer and the wrong IP is logged.

By default the plugin uses the direct connection IP, because forwarded headers can be spoofed to bypass the allowlist. If your site sits behind a trusted reverse proxy, enable Trust proxy headers for IP detection under Spam Guard → Settings → Allowlist.

A legitimate submission was blocked. What do I do?

By default a blocked comment or review is placed in the spam queue (Comments → Spam) rather than being rejected outright, so you can restore a false positive with one click — nothing is lost. Open Spam Guard → Spam Logs to see which guard blocked it and why, then loosen that guard on the settings page — for example, raise the link limit, lower the behavioral threshold, or add the sender to the allowlist. If you would rather reject blocked comments with an error message, enable that option under Spam Guard → Settings → General.

Can I limit how often one person can submit?

Yes. Enable Rate limit on the Guards tab, then set the maximum number of submissions and the window they are counted over — 20 per hour and 5 per minute are both expressible. It counts per sender — the logged-in user where there is one, otherwise the connection IP — and each form type is counted separately. It is off by default, because on sites where many visitors share an address (an office, a school, or mobile carrier NAT) an IP-based limit can catch people who are not doing anything wrong. Set the maximum to 0 to disable it without turning the guard off.

Does it replace WordPress's built-in comment moderation?

No — it complements it. Onsite Spam Guard's guards run before WordPress's own comment checks, and those built-ins still run underneath: the duplicate-comment check, the comment flood throttle, the Disallowed Comment Keys blocklist, and the "hold a comment with this many links" setting (all under Settings → Discussion). Its Keyword, Link limit, and Duplicate guards overlap those, so you can rely on either or both. What it adds on top is the honeypot, timing, signature, and behavioral checks core has no equivalent for, one settings screen with logging, and protection for WooCommerce reviews and Jetpack contact forms — not just comments. You can also go the other way and put WordPress's list to work everywhere: enable Also apply WordPress's Disallowed Comment Keys on the Guards tab and the plugin runs every protected submission through core's own blocklist — so the list you already maintain under Settings → Discussion starts covering reviews, Jetpack forms, and any form added through the plugin's API, not only comments.

Does it work with caching plugins?

Yes. The timing and authenticity checks use a token whose signature does not expire (unlike a WordPress nonce, which would go stale on a cached page and block legitimate visitors), so full-page caching does not produce false positives.

Does removing the plugin clean up after itself?

By default, yes — deleting the plugin (not just deactivating it) drops its database table, removes all of its options, clears its scheduled task, and purges its transients, on every site of a multisite network. If you would rather keep your settings and logs (for example, before reinstalling), turn off Delete all plugin data when this plugin is deleted under Spam Guard → Settings → Logging first.

更新日志:

1.4.0 1.3.0 1.2.1 1.2.0 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0