floxum / spam-prevention
Spam prevention for your Flarum community.
Package info
gitlab.com/floxum/extensions/flarum-ext-spam-prevention
Type:flarum-extension
pkg:composer/floxum/spam-prevention
Requires
- php: >=8.2
- flarum/approval: ^1.8
- flarum/core: ^1.8.20
- patrickschur/language-detection: ^5.2.0
Requires (Dev)
- phpunit/phpunit: ^9.6
- symfony/var-dumper: ^6.1
Suggests
- flarum/flags: Flags posts held by spam prevention for moderator review.
- fof/spamblock: Marks users as spammers when a discussion title contains spam.
- fof/user-bio: Enables scanning of user bios.
Provides
None
Conflicts
None
Replaces
README
Spam prevention is an extension based on our spam fighting experience on the official Flarum community Discuss. After installation it does a great job at preventing any form of unwanted spam. Give it a spin if spam is an annoyance on your community!
Requirements
- flarum/approval - this is required
- flarum/flags - this is recommended
- fof/spamblock - optional, when enabled immediately deletes users that open discussions with spam subjects
Installation
composer require floxum/spam-prevention
Now enable this extension from your admin area and it will already do its job. No further configuration needed.
That's it. Read below what this package does and how to customize its behavior.
Spam prevent logic
How does it try to identify spam?
- it scans for phone numbers
- it scans for email addresses
- it scans for links that aren't in the allow list
- it identifies the language used against the language packs installed
- it ignores elevated users (mods and admins)
Where does it scan for spam?
- it scans (first) posts
- it scans user bio's
How does it take action?
- it flags posts with flarum/flags enabled
- it marks posts as not approved with flarum/approval enabled
- it overwrites user bio's if it identifies spam
- it marks users as spammer if a discussion subject contains spam with fof/spamblock
Customization
All configuration is done from the extension's settings page in the admin area:
- Hours since sign up and Number of first posts: which users are checked. A user is checked while either applies; set a value to 0 to disable that check.
- Allowed domains: one domain per line. Subdomains are allowed too, and links to the forum's own domain are always allowed.
- Problematic words and Words required: content containing at least the required number of these words (case insensitive) is held for moderation.
- Filters: turn checking posts, discussion titles or user bios on or off.
- Moderator user ID: the user that raises flags and marks spammers. When empty, the first administrator is used.
Migrating from blomstra/spam-prevention
This package replaces blomstra/spam-prevention. Because the extension ID changes from blomstra-spam-prevention to floxum-spam-prevention, follow these steps:
composer remove blomstra/spam-prevention && composer require floxum/spam-prevention- Remove any
Blomstra\Spam\Filterextenders from yourextend.php. - Enable the extension again in the admin area and configure it from its settings page.