Dam Spam
Dam Spam
Description
💬 Ask Question | 📧 Email Me
Dam Spam is a comprehensive spam protection plugin that blocks spam registrations, login attempts, comments, and contact form submissions. It provides multiple layers of protection including IP blocking, email validation, CAPTCHA challenges, and integration with third-party spam detection services.
How it Works
Dam Spam runs a series of configurable checks on registrations, logins, comments, and form submissions. When a submission is flagged as potentially suspicious, you can choose to block it outright or present a CAPTCHA challenge. Legitimate users are cached to speed up future submissions, while known spam sources are permanently blocked.
Features
- Multiple Protection Layers – Block spam using IP lists, disposable email detection, and behavioral analysis
- CAPTCHA Support – Integrate with Google reCAPTCHA or hCaptcha to challenge suspicious submissions
- Third-Party API Integration – Connect with Akismet, Stop Forum Spam, BotScout, and other spam detection services
- Customizable Challenges – Present challenges only to suspicious users while allowing legitimate users through
- Allow and Block Lists – Maintain custom lists of allowed and blocked IPs, emails, and user IDs
- Smart Caching – Cache known good and bad IPs to improve performance and reduce API calls
- Comprehensive Logging – Track all blocked attempts and approved submissions for review
- Custom Login/Registration Forms – Optional custom forms with built-in spam protection
- User Management – Identify and manage inactive or suspicious user accounts
Configuration
After installation, go to the Dam Spam settings in your WordPress admin to:
- Enable the protection types you need (registration, login, comments, contact forms)
- Choose which spam detection methods to use (IP checks, email validation, third-party APIs)
- Configure CAPTCHA settings if desired
- Set up allow and block lists for your specific needs
- Review logs to fine-tune your protection settings
Differences from Stop Spammers
Dam Spam is a fork of Stop Spammers. While the core spam protection functionality remains similar, Dam Spam’s file and code structure has been significantly cleaned up and modernized.
Addon Support
Dam Spam supports custom spam checks via addons. Create a separate plugin with this structure:
<?php
/*
Plugin Name: Dam Spam Addon Example
Description: Custom spam check addon for Dam Spam
Version: 1.0
*/
add_filter( 'dam_spam_addons_block', function( $addons ) {
$addons[] = array( __FILE__, 'My_Spam_Check' );
return $addons;
} );
class My_Spam_Check {
public function process( $ip, &$stats, &$options, &$post ) {
if ( $ip === '123.45.67.89' ) {
return 'Blocked by custom check';
}
return false;
}
}
- Hook into
dam_spam_addons_blockordam_spam_addons_allow - Return an array with your file path and class name
- Create a class with a
process()method - For
dam_spam_addons_block: returnfalseto continue checking, or a string to block - For
dam_spam_addons_allow: returnfalseto continue checking, or a string to approve - Test using Dam Spam > Testing (spam checks don’t run when logged in)
Installation
Automatic
- Go to Plugins > Add New from your WordPress admin menu
- Search for “Dam Spam”
- Click “Install Now” and then “Activate”
- Go to Dam Spam > Protections to configure your spam protection settings
Manual
- Download the plugin ZIP file
- Go to Plugins > Add New > Upload Plugin
- Click “Choose File” and select the ZIP file
- Click “Install Now”
- Click “Activate”
- Configure settings under Dam Spam > Protections
Faq
Don’t panic. Access your site via FTP, navigate to wp-content/plugins, and rename the “dam-spam” folder to “1dam-spam” to disable it (remove the “1” to enable again). Then you can log in and adjust your settings.
Your settings will automatically be copied over to Dam Spam in the background and be retained if you decide to switch back. This requires no action on your part.
After careful consideration, certain features have been removed. Please ask for more info on GitHub.
Yes. But you may need to restore visitor IPs.
Yes. They can even complement each other. However, if you have limited hosting resources or don’t allow registration on your site, using both might be overkill.
Yes. In some configurations, you may need to go to Dam Spam > Protections and toggle on “Only Check Native WordPress Forms” if you experience any issues.
Reviews
Great plugin, helps me to keep off a lot of spammers from my news site
By w-sky on February 10, 2026
I've been using "Stop Spammers" before since some time but also noticed that development had stalled a few years ago. Until this new project emerged (and the old was renamed to Classic). Great to see the old good idea and functions while new functions being added in "Dam Spam"! For me this is the successor of Stop Spammers.
Switched from Stop Spammers Plugin
By euphemism on February 4, 2026
Works well - we have a membership site and this helps to keep the bad actors out. It also sometimes blocks legit users, but has a pretty easy way to grant access.
Where is Country Level Blocking??
By swagatamm (swagatam1975) on January 15, 2026
Hey, you say "Dam Spam is the modernized successor to Stop Spammers," but the "Stop Spammers" has country level blocking feature, which is so good, and this crucial feature seems to be missing on Dam Spam, is it intentional?...also how do we migrate to Dam Spam, there isn't any migrate button available..
Free portal Digital City Eindhoven uses Dam Spam
By rienfalcon on December 12, 2025
Our free site, [domain removed] has been around for over 30 years. For the past eight years, we used Stop Spammers, and due to unexpected PHP version issues, we switched to Dam Spam, which now works perfectly. After correcting an incorrect IP address in our CIDR entry in the block or allow list, we were able to do so. Thanks to Web Guy's advice! I think Dam Spam is the better choice compared to Stop Spammers.
Changelog
1.1.3
- Improved country blocking
- Improved light mode styles
1.1.2
- Improved country blocking
1.1.1
- Fixed WooCommerce admin notice
- Fixed missing light mode style
1.1
- Added rate limiting to request form
1.0.9
- Improved security
1.0.8
- Improved UI, organization, and wording
1.0.7
- Improved error handling for SFS reporting
- Improved security
1.0.6
- Added email verification for new users
- Fixed Stop Forum Spam reporting
- Fixed log out check
- Improved tab handling for external spam checks
1.0.5
- Added Cloudflare integration
- Added Cloudflare Turnstile CAPTCHA
- Added ability to sync Ban List to Cloudflare
- Added ability to Block Countries via Cloudflare
- Added support for Light Mode
- Added documentation: https://github.com/webguyio/dam-spam/wiki
1.0.4
- Added new Ban List feature that bans IPs from the entire site
- Added new ability to lock accounts from Users page
- Improved Limit Login Attempts feature
- Improved Import/Export feature
- Improved Reset feature
1.0.3
- Improved add-on handling
- Added missing translations
1.0.2
- Improved handling of emails in allow and block lists
- CSRF fixes
1.0.1
- Added option to skip spam checks on payment forms
- Added safety check for themed login pages
- Fixed themed login
1.0
- Fixed Divi compatibility issues
- Fixed honeypots
- Fixed CSRF issues
0.9
- Fixed CSRF issues
0.8
- Fixed bug caused by incorrectly added IP ranges
- Updated Google Safe Browsing API
- Updated IP lists
- Code cleanup and organization
- Removed dated firewall feature
- Removed dated/defunct checks
0.7
- Minor fixes
0.6
- Moved to WordPress.org
0.5
- Removed country checks
- Removed dated SolveMedia CAPTCHA
- Improved form checking
0.4
- Bug fixes
0.3
- Bug fixes
- Security improvements
0.2
- Bug fixes
0.1
- New fork of Stop Spammers