{"id":391054,"date":"2026-10-28T03:04:30","date_gmt":"2026-10-28T03:04:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ezerweb-forms-and-comments-anti-spam-guard\/"},"modified":"2026-10-28T03:04:09","modified_gmt":"2026-10-28T03:04:09","slug":"ezerweb-forms-and-comments-anti-spam-guard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ezerweb-forms-and-comments-anti-spam-guard\/","author":14260924,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"EzerWeb Forms and Comments Anti-Spam Guard","header_author":"Eric Kouassi","header_description":"Modular dual-layer (Server + Client) anti-spam protection for WordPress forms and comments with an admin settings page.","assets_banners_color":"2d799a","last_updated":"2026-10-28 03:04:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/erickouassi\/ezerweb-forms-and-comments-anti-spam-guard","header_author_uri":"https:\/\/github.com\/erickouassi","rating":0,"author_block_rating":0,"active_installs":0,"downloads":74,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.1":{"tag":"2.0.1","author":"2K1881","date":"2026-10-28 03:04:09","revision":3769803}},"upgrade_notice":{"2.0.1":"<p>Recommended update for WordPress.org compliance: proper script enqueuing, sanitization and naming prefixes.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3769806,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3769807,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3769810,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3769808,"resolution":"1","location":"assets","locale":"","width":1158,"height":560}},"screenshots":[]},"plugin_section":[],"plugin_tags":[2656,4867,170424,92828,8306],"plugin_category":[54],"plugin_contributors":[282556],"plugin_business_model":[],"class_list":["post-391054","plugin","type-plugin","status-publish","hentry","plugin_tags-anti-spam","plugin_tags-comment-spam","plugin_tags-email-filter","plugin_tags-form-security","plugin_tags-spam-blocker","plugin_category-security-and-spam-protection","plugin_contributors-2k1881","plugin_committers-2k1881"],"banners":{"banner":"https:\/\/ps.w.org\/ezerweb-forms-and-comments-anti-spam-guard\/assets\/banner-772x250.png?rev=3769810","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ezerweb-forms-and-comments-anti-spam-guard\/assets\/icon-128x128.png?rev=3769806","icon_2x":"https:\/\/ps.w.org\/ezerweb-forms-and-comments-anti-spam-guard\/assets\/icon-256x256.png?rev=3769807","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ezerweb-forms-and-comments-anti-spam-guard\/assets\/screenshot-1.png?rev=3769808","caption":""}],"raw_content":"<!--section=description-->\n<p>EzerWeb Forms and Comments Anti-Spam Guard protects your WordPress site from automated bots, disposable email burners, and spam submissions.<\/p>\n\n<p>It provides a dual-layer defense mechanism:<\/p>\n\n<ol>\n<li><strong>Client-side JavaScript validation<\/strong> \u2013 Instantly blocks restricted email addresses or TLDs before the form is submitted.<\/li>\n<li><strong>Server-side PHP inspection<\/strong> \u2013 Catches any submission that bypasses JavaScript (or when JS is disabled) and blocks it with a clear error message.<\/li>\n<\/ol>\n\n<p>The plugin works automatically on <strong>all forms and comment sections<\/strong> on your site. No shortcodes or template changes are required.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Dual-layer (client + server) protection<\/li>\n<li>Two operating modes:\n\n<ul>\n<li><strong>Strict Allowlist<\/strong> \u2013 Only emails\/TLDs you explicitly permit are accepted<\/li>\n<li><strong>Blocklist Only<\/strong> \u2013 Everything is allowed except the addresses and TLDs you ban<\/li>\n<\/ul><\/li>\n<li>Configurable lists for:\n\n<ul>\n<li>Specific email addresses<\/li>\n<li>Top-level domains (TLDs) such as <code>.xyz<\/code>, <code>.top<\/code>, <code>.click<\/code>, etc.<\/li>\n<\/ul><\/li>\n<li>Works with native WordPress comments, Contact Form 7, Gravity Forms, Elementor forms, and most other form plugins that use standard email fields<\/li>\n<li>Lightweight \u2013 no external API calls or database bloat<\/li>\n<li>Clean admin settings page under <strong>Settings \u2192 EzerWeb Anti-Spam<\/strong><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the entire <code>ezerweb-forms-and-comments-anti-spam-guard<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory,<br>\n<strong>or<\/strong> install the plugin through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Settings \u2192 EzerWeb Anti-Spam<\/strong> to configure the protection mode and your allow\/block lists.<\/li>\n<li>Save the settings. Protection is active immediately on all forms and comments.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20add%20any%20shortcodes%20or%20code%20to%20my%20theme%3F\"><h3>Do I need to add any shortcodes or code to my theme?<\/h3><\/dt>\n<dd><p>No. Once activated and configured, the plugin automatically protects every form and the native comment form on your site.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20spam%20email%20is%20submitted%3F\"><h3>What happens when a spam email is submitted?<\/h3><\/dt>\n<dd><ul>\n<li>If JavaScript is enabled the user sees an alert and the form does not submit.<\/li>\n<li>If JavaScript is disabled (or the request is made via AJAX that bypasses the client script) the server returns a 403 response with a clear \u201cSubmission Blocked by Anti-Spam\u201d message.<\/li>\n<\/ul><\/dd>\n<dt id=\"can%20i%20use%20both%20allowlist%20and%20blocklist%20at%20the%20same%20time%3F\"><h3>Can I use both allowlist and blocklist at the same time?<\/h3><\/dt>\n<dd><p>The plugin always applies the blocklist first. In <strong>Allowlist<\/strong> mode only the addresses\/TLDs you have allowed will pass (and they must also not be on the blocklist). In <strong>Blocklist<\/strong> mode everything is allowed except the items you have blocked.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20popular%20form%20plugins%3F\"><h3>Does it work with popular form plugins?<\/h3><\/dt>\n<dd><p>Yes. It inspects all POST data for email-looking values, so it works with Contact Form 7, Gravity Forms, WPForms, Elementor forms, and most other plugins that submit standard HTML forms.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed installation instructions in readme.txt<\/li>\n<li>Properly enqueued admin JavaScript (removed inline <\/li>\n<li>Improved sanitization of $_POST data before email extraction<\/li>\n<li>Added consistent EWFAG_ prefixes to all classes, constants, options and script handles<\/li>\n<li>Updated Plugin URI and version metadata<\/li>\n<li>Improved accessibility and internationalization of admin page<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Dual-layer (client + server) anti-spam protection<\/li>\n<li>Admin settings page with allowlist \/ blocklist modes<\/li>\n<li>Support for custom email and TLD lists<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Modular dual-layer anti-spam protection for WordPress forms and comments with custom TLD and email filtering.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391054","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=391054"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/2k1881"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391054"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391054"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391054"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391054"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391054"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}