Spam—whether in a post, comment or through a contact form—has become a troublesome fact of life for any site administrator. Fortunately, a number of modules help stem the tide of spam, either by real-time filtering, challenge-response interaction, or a combination of the two.

One common method of preventing automated spam postings is to employ a module that injects a CAPTCHA into common Drupal forms, like the user registration, comment and contact pages. If the CAPTCHA, a visual or auditory challenge, can be completed with the correct response, the user is assumed to be human and not an automated spam-posting process. See the CAPTCHA and ReCAPTCHA documentation or project pages for two modules that provide this functionality.

Mollom was a popular spam filtering service that analyzes content in real-time for spam-like characteristics. End of Life Announcement was made at the beginning of April 2018.
Content identified as spam is blocked, while clean content is processed normally. If Mollom is unsure whether the content is spam, it directs your site to require a successful CAPTCHA completion before the post is accepted. Mollom end of life has been announced. As of 2 April 2018, Acquia will no longer actively support or maintain Mollom. After that point in time, the Mollom service will no longer be available.

For filtering without any external services, the Spam module integrates a Bayesian filter along with some other filtering methods. Spam is only available for Drupal 6 (or below). For Drupal 8 the Statistical Spam Filter module exists as an alternative.

Honeypot and modules like it (e.g. Hidden CAPTCHA) use simpler techniques to filter spam without any user interaction, using a series of tests on the form itself. These more passive modules are often a good first step towards spam prevention as they don't require any extra user interaction or steps to complete existing forms.

Anti Spam module by CleanTalk to protect Drupal sites from spam bot registration and spam comments publications thru comment and contact forms. CleanTalk is a SaaS spam protection service for Web-sites.
CleanTalk uses protection methods which are invisible for site visitors.
Using CleanTalk eliminates needs in CAPTCHA, questions and answers, and other methods of protection, complicating the exchange of information on the site. CleanTalk has an advanced option "Spam FireWall". This option allows blocking the most active spam bots before they get access to your website. It prevents spam bots from loading website pages so your web server doesn't have to perform all scripts on these pages.

Some spam control modules are listed below; you can also search for spam prevention modules on drupal.org.

Comments

NonProfit’s picture

Luen Warneke’s picture

I'm a big believer in "Bad Behaviour".

My first line against spam - followed up with a secondary line of defence like mollom

Drupal module - http://drupal.org/project/badbehavior
Developers website - http://bad-behavior.ioerror.us/

abhiklpm’s picture

Spamfree Email module works on Javascript enabled and disabled browsers preventing email harvesting. The Email address given in content type fields like (body, summary etc,) are converted into corresponding mailto links and provides email obfuscation to protect email addresses from harvesting bots.