Companion tools for the Stop Forum Spam extension: browse what it blocked, look up or remove suspected spammers, and catch bots with a honeypot.
- Spam blocks / SFS errors — two ACP log pages, filtered from phpBB's own log table down to just what
phpbbmodders/stopforumspamhas logged, with sort, IP search, delete, and an auto-prune cron job - Scan users — lists recently-registered users and checks each one against StopForumSpam inline, with a one-click report-and-remove action
- Check SFS — a manual lookup link on member profiles and in the ACP user overview (gated by a dedicated
m_chk_sfspermission, so it can be delegated to moderators without full admin rights) - Honeypot — hidden fields real users never see, plus a minimum time between showing a form and submitting it, on registration, posting and private messages. Registrations that trip a check are rejected. On posts and PMs the account is quietly moved into a hidden group that can't post or reply, and staff are notified if it already had enough posts to look established. The honeypot can be turned off entirely, or per form. Administrators and moderators are never restricted or banned; their trips are still logged.
- Honeypot trips — an ACP log of every trip with the username, email, IP, browser, which check tripped and how fast the form was sent, plus the subject and an excerpt for posts and PMs. A Report button sends a trip to Stop Forum Spam after you confirm it; trips are deleted automatically after 30 days by default.
- Automatic IP bans — after a set number of trips (3 within 24 hours by default) from the same IP, or optionally the same IP and email, or the same IP, email or username, the IP is banned for 30 days (adjustable, or permanent). By default only hidden-field trips count. The bans carry the admin-side reason
SFS Companion honeypot auto-banand show the visitor no reason, and one button in the ACP deletes all of them while leaving other bans alone.
![]() Honeypot trips log |
![]() Spam blocks log |
![]() Profile lookup link (highlighted) |
Click a screenshot for the full size. All screenshots, including the honeypot settings and the SFS errors log, are on the Screenshots wiki page.
- phpBB 3.3.19 or later
- PHP 8.0 or later
- phpbbmodders/stopforumspam installed and enabled. This extension won't enable without it.
- Copy the extension to
/ext/phpbbmodders/sfscompanion - In the Administration Control Panel, go to Customise → Manage extensions
- Enable the SFS Companion extension (
phpbbmodders/stopforumspammust already be enabled) - Set the log prune interval under ACP → Extensions → SFS Companion → Settings, and the honeypot options under Honeypot
The honeypot is now part of SFS Companion. Disable and delete the data of the old Honeypot extension, delete /ext/phpbbmodders/honeypot, then install or update SFS Companion. Its old log entries and restricted group are not carried over.
Stop Forum Spam is now installed as phpbbmodders/stopforumspam. Upgrade in this order, or the board can fail to load while SFS Companion points at a disabled extension:
- Disable SFS Companion
- Disable the old Stop Forum Spam (do not delete its data)
- Upload the new Stop Forum Spam to
/ext/phpbbmodders/stopforumspamand this version of SFS Companion to/ext/phpbbmodders/sfscompanion - Enable Stop Forum Spam, then SFS Companion
- Delete the
/ext/rmcgirr83/stopforumspamfolder and purge the board cache
Ideas not yet built, practical and speculative alike: docs/TODO.md.
Contributions are welcome!
- Bug reports: Open an issue.
- Everything else (questions, feature requests, ideas, general discussion): Use Discussions, or the community forum.
- Pull requests are welcome for bug fixes or discussed features.
- Built from two original extensions by Sheer: phpbb3.1-3.2-Stop_Spam_Register (the log-viewer piece) and phpbb3.2-Stopforumspam (the scanner/finder piece), reworked to delegate all StopForumSpam API calls to phpbbmodders/stopforumspam's own service instead of duplicating that logic.
- The honeypot comes from the separate phpbbmodders/honeypot extension, now merged in.
- Code review, bug fixes, and documentation assisted by Claude.
This extension is licensed under the GNU General Public License v2.0.
See license.txt for more information.


