=== Block Comment Spam Bots ===
Tags: comments, spam, bots
Requires at least: 4.9
Tested up to: 5.3
Stable tag: 1.2
Requires PHP: 5.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html  
Donate link: https://www.cellarweb.com

Blocks spam bots from directly accessing the Comments processing code. Simple but effective.

== Description ==

Comments are processed by the wp-post-comments.php file. Automated spammers ('spam bots') can provide ('post') data directly to that page, bypassing any comment processing, by using CURL/WGET commands.

The result is comment spam - and not always caught by common comment spam checkers. 

This plugin adds a simple and changing hidden field value to the comment form. The processing of the comment form is changed to check for that hidden field. If not found, then the normal comment form entry was bypassed by the spam bot, so the comment is discarded. Otherwise, the comment is processed normally.

This is not a full solution; manually entered comment spam will not be blocked. But automated POSTs of comment data directly to the wp-post-comments.php file will be blocked.

The Admin, Comments page is modified to show a column with the value of the hidden field. This is an assurance that the comment was not entered via an automated CURL/WGET to the wp-comments-post.php file. A comment that is on the list that does not show the hidden field value was entered manually, and other comment spam blocking techniques might be needed for your site.

An information screen provides a CURL command you can use to test the effectiveness of blocking (or not blocking) direct access to the wp-comments-post.php file. 

Current version adds the hidden field to the comment form after a delay to help block bots that are using the comment form to submit.

== Installation ==

This section describes how to install the plugin and get it working.


1. Upload the plugin files to the `/wp-content/plugins/plugin-name` directory, or install the plugin through the WordPress plugins screen directly.
1. Activate the plugin through the 'Plugins' screen in WordPress
1. Use the Settings->Plugin Name screen to configure the plugin
1. (Make your instructions match the desired user flow for activating and installing your plugin. Include any steps that might be needed for explanatory purposes)

== Frequently Asked Questions ==

= Does this modify the comment form? =

The comment form will look as it always did.

= What about customized comment forms? =

No changes to the visual or operational comment form is made. It just adds a hidden field with a unique value, then checks for that field on submit. 


== Screenshots ==

1. No screenshots; no settings screen needed.


== Changelog ==

**Version 1.2 (24 Dec 2019)**
- Added the storage and display of the hidden field on the Admin, Comments screen. That field can be edited, although not sure why you would want to. 
- The addition of a column for the hidden field value will allow you to see if a spammy comment was entered manually. A blank value indicates that the comment was entered manually.
- Added a timed delay to change the value of the hidden field, to prevent automated entry of the actual comment form.
- Added additional information on the 'Info/Settings' screen, including the CURL command you can use to try to automated a comment.
- All function and variable names now have a prefix to ensure that there are no conflicts with other core/theme/plugin functions or values.
- Added CSS files, and images in the assets folder.
- Some minor changes to this readme file for additional information.

**Version 1.1 (18 Dec 2019)**
- Initial Release (prior versions used in development only)

== Upgrade Notice ==

**Version 1.2 (24 Dec 2019)**
- Added the storage and display of the hidden field on the Admin, Comments screen. That field can be edited, although not sure why you would want to. 
- The addition of a column for the hidden field value will allow you to see if a spammy comment was entered manually. A blank value indicates that the comment was entered manually.
- Added a timed delay to change the value of the hidden field, to prevent automated entry of the actual comment form.
- Added additional information on the 'Info/Settings' screen, including the CURL command you can use to try to automated a comment.
- All function and variable names now have a prefix to ensure that there are no conflicts with other core/theme/plugin functions or values.
- Added CSS files, and images in the assets folder.
- Some minor changes to this readme file for additional information.

**Version 1.1 (18 Dec 2019)**
- Initial Release (prior versions used in development only)
