Honey Pot

Honeypot uses both the honeypot and timestamp methods of deterring spam bots from completing forms on your Drupal site (read more here). These methods are effective against many spam bots, and are not as intrusive as CAPTCHAs or other methods which punish the user [YouTube].

The module currently supports enabling for all forms on the site, or particular forms like user registration or password reset forms, webforms, contact forms, node forms, and comment forms.

Configuration

All settings for this module are on the Honeypot configuration page, under the Configuration section, in the Content authoring settings. You can visit the configuration page directly at /admin/config/content/honeypot. Read more about what all the settings mean in the Honeypot documentation.

Use in Your Own Forms and Customizations

If you want to add honeypot to your own forms, or to any form through your own module's hook_form_alter's, you can simply place the following function call inside your form builder function (or inside a hook_form_alter()):

  \Drupal::service('honeypot')->addFormProtection($form, $form_state, ['honeypot', 'time_restriction']);

Note that you can enable or disable either the honeypot field, or the time restriction on the form by including or not including the option in the array.

You can also use Honeypot's API to modify the time delay for forms, add or remove protections for certain forms, etc.

Success Stories

Many people have reported dramatic reductions in spam when using this module; some of their stories can be found here: Honeypot success stories.

Further Reading

Related modules

Alternative modules

There are many spam-protection modules on drupal.org, some of which have more or less robust methods of dealing with form spam. Some of the most used and recommended include:

Pledges

#D8CX: I pledge that Honeypot will have a full Drupal 8 release on the day Drupal 8 is released. Fulfilled!

#D9CX: I pledge that Honeypot will have a full Drupal 9 release on the day Drupal 9 is released. Fulfilled!

Module created by Jeff Geerling

Supporting organizations: 

Project information

Releases