{"id":348012,"date":"2026-08-09T13:00:17","date_gmt":"2026-08-09T13:00:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/edz-honeypot-timing-guard\/"},"modified":"2026-08-09T13:00:07","modified_gmt":"2026-08-09T13:00:07","slug":"edznet-honeypot-timing-guard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/edznet-honeypot-timing-guard\/","author":15222233,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.3","requires":"5.6","requires_php":"7.2","requires_plugins":null,"header_name":"EDZNET Honeypot & Timing Guard","header_author":"EDZNET","header_description":"Adds a hidden honeypot field and a minimum-submit-time check to every Contact Form 7 form. Submissions that fill the decoy or arrive too fast are flagged as spam and never mailed.","assets_banners_color":"","last_updated":"2026-08-09 13:00:07","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/edznet.dev\/","header_plugin_uri":"https:\/\/edznet.dev\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"edznet","date":"2026-08-09 13:00:07"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3639376,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3639376,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3639376,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[5445,1152,598,599,274910],"plugin_category":[42,54],"plugin_contributors":[273682],"plugin_business_model":[],"class_list":["post-348012","plugin","type-plugin","status-publish","hentry","plugin_tags-cf7","plugin_tags-contact-form-7","plugin_tags-honeypot","plugin_tags-spam","plugin_tags-timing-guard","plugin_category-contact-forms","plugin_category-security-and-spam-protection","plugin_contributors-edznet","plugin_committers-edznet"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/edznet-honeypot-timing-guard\/assets\/icon.svg?rev=3639376","icon":"https:\/\/ps.w.org\/edznet-honeypot-timing-guard\/assets\/icon.svg?rev=3639376","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>EDZNET Honeypot &amp; Timing Guard protects Contact Form 7 forms from bot submissions using three complementary techniques:<\/p>\n\n<h3>Honeypot<\/h3>\n\n<p>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.<\/p>\n\n<h3>Timing Guard<\/h3>\n\n<p>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.<\/p>\n\n<h3>Gibberish Content Detection<\/h3>\n\n<p>The plugin analyses every submitted field (except internal and honeypot fields) for random-looking content \u2014 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.<\/p>\n\n<p>When spam is detected, CF7 silently drops the mail and logs the reason to its spam log.<\/p>\n\n<p>No configuration required \u2014 just install and activate.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>edznet-honeypot-timing-guard<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the Plugins screen in WordPress.<\/li>\n<li>Contact Form 7 forms are now protected.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20change%20the%20minimum%20submit%20time%3F\"><h3>Can I change the minimum submit time?<\/h3><\/dt>\n<dd><p>Yes. Add this to your theme's <code>functions.php<\/code>:<\/p>\n\n<pre><code>add_filter( 'edz_hp_min_seconds', fn() =&gt; 5 );\n<\/code><\/pre><\/dd>\n<dt id=\"can%20i%20require%20the%20timestamp%20field%3F\"><h3>Can I require the timestamp field?<\/h3><\/dt>\n<dd><p>By default, forms cached before the plugin was activated won't have a timestamp. Set the filter to <code>true<\/code> once your cache has rolled over:<\/p>\n\n<pre><code>add_filter( 'edz_hp_require_timestamp', '__return_true' );\n<\/code><\/pre><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added gibberish content detection: flags message\/subject fields containing random-looking text (long random strings, mixed letters &amp; digits, vowel-less sequences).<\/li>\n<li>Added <code>edz_hp_check_gibberish<\/code> filter to disable the gibberish check (<code>add_filter( 'edz_hp_check_gibberish', '__return_false' )<\/code>).<\/li>\n<li>Added <code>edz_hp_gibberish_fields<\/code> filter to customize which fields are checked.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Adds a hidden honeypot field, a minimum-submit-time check, and content gibberish detection to every Contact Form 7 form. No configuration needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/348012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=348012"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/edznet"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=348012"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=348012"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=348012"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=348012"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=348012"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=348012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}