EDZNET Honeypot & Timing Guard

Description

EDZNET Honeypot & Timing Guard protects Contact Form 7 forms from bot submissions using three complementary techniques:

Honeypot

A real text input is rendered off-screen (hidden via CSS positioning, not display:none). Bots that fill in visible form fields will often fill this one too, while human visitors never see it.

Timing Guard

A signed timestamp is injected into each form. Submissions arriving faster than the configured minimum time (default: 3 seconds) are rejected as bots. The timestamp is HMAC-signed with your site’s secret key, preventing tampering.

Gibberish Content Detection

The plugin analyses every submitted field (except internal and honeypot fields) for random-looking content — long character strings without spaces, words mixing letters and digits, or vowel-less letter sequences. Bots that fill forms with random noise are caught here.

When spam is detected, CF7 silently drops the mail and logs the reason to its spam log.

No configuration required — just install and activate.

Installation

  1. Upload the edznet-honeypot-timing-guard folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Contact Form 7 forms are now protected.

FAQ

Can I change the minimum submit time?

Yes. Add this to your theme’s functions.php:

add_filter( 'edz_hp_min_seconds', fn() => 5 );

Can I require the timestamp field?

By default, forms cached before the plugin was activated won’t have a timestamp. Set the filter to true once your cache has rolled over:

add_filter( 'edz_hp_require_timestamp', '__return_true' );

Reviews

There are no reviews for this plugin.

Contributors & Developers

“EDZNET Honeypot & Timing Guard” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.0

  • Added gibberish content detection: flags message/subject fields containing random-looking text (long random strings, mixed letters & digits, vowel-less sequences).
  • Added edz_hp_check_gibberish filter to disable the gibberish check (add_filter( 'edz_hp_check_gibberish', '__return_false' )).
  • Added edz_hp_gibberish_fields filter to customize which fields are checked.

1.0.0

  • Initial release.