XF 1.2 Spam Prevention and Management

While 1.1.4 added some spam prevention tools, XenForo 1.2 takes these further. This is by no means the end of our fight against spam though.

In 1.2, we've mostly focused on adding support for APIs and adaptable spam prevention techniques. Let's look at a few.

Deeper Stop Forum Spam Integration
We actually detailed this a long time ago. While 1.1.4 added support for checking a DNSBL that used the Stop Forum Spam database, 1.2 has a much more configurable integration:

ss-2013-05-28_10-53-35.webp


In addition to simply checking registrations against SFS, you can also get an API key and submit back to them automatically when spam cleaning a user.

If you opt to use the SFS integration to check registrations, the Tornevall DNSBL will not be checked.

Project Honey Pot HTTP Blacklist
In addition to the existing DNSBLs, you can sign up for a Project Honey Pot API key to check their blacklist. While this often overlaps with SFS's database, there are some variations.

ss-2013-05-28_11-03-32.webp


Message Content Checking: Akismet and Spam Phrases
Up until now, we've focused on preventing spam registrations. While that's the ideal situation, it's not always possible to detect spam until you see what they actually try to post.

ss-2013-05-28_11-08-18.webp


Here, we provide a simple "spam phrases" option, which uses simple pattern matching (or regular expressions) to detect spam. For example, here on XenForo.com, the vast majority of the spam we see fits a particular profile that can be matched with "watch * online". Content matching these phrases will be rejected or set to be manually approved. The checks are done on posts, profile posts and conversations. In situations where manual approval isn't possible (such as in conversations), the messages will be rejected.

To limit the potential for false positives, the checks are limited to only the first few messages by a user.

Then there's Akismet. It provides an API that uses various heuristics to tell you whether the message being submitted is spam. Note that depending on your site's purpose, Akismet may not be a free service.

Spam Cleaner Can Delete Sent Conversations
To help deal with conversation spam, the spam cleaner can now (optionally) delete all conversations started by the spammer. This will remove the conversations from the inbox of anyone that received them (and update their unread conversation counts).

For Developers: General Spam Prevention API
There is now a SpamPrevention model that is called in various scenarios. You can simply hook your spam prevention call into the correct position and return what action to take. This is called in the following situations:
  • When a new user registers
  • When a user is spam cleaned (to submit spam users and spam content)
  • To determine if the user posting a message needs to be spam checked
  • When a message is submitted
  • When a message that was moderated because of spam and is approved (submitting "ham")
This system should make it easier to add-on developers to integrate their own spam prevention systems.
 
I assume too that the ones getting through will be human spammers. They are a little harder to stop if the username/email/IP combo haven't been added to any of the anti-spam databases; no matter what measures you take there will always be some who get through. (y)
 
Was there a post or conversation about adding a 'spam cleaner' link to the Moderation Queue page? I thought I saw something about that. :unsure:
 
I would really appreciate it to see an option to ignore the username SFS blacklist specifically as that causes a lot of false negatives.
Yes this would be a welcome feature. The built in spam protections in 1.2 have been flawless for me so far except for having to manually approve users every day who happen to have common usernames.
 
Is there any guide to "normal" settings for all the options? It seems overly technical for each admin to figure out all the various numbers (of reporting) in order to reject spammers. I think I was spoiled by XenUtils and Stop Country Spam, both of which had clear logs so I could follow what was happening. Also, the account spam finder (links list) in Jaxels was nice.

It would be great if XF could build in these simple tools so we can follow what is actually going on.
 
The "normal" settings are those that are set by default.

For the most part, whenever I'm configuring a XenForo board, most options stay at default as they have been deemed by the developers as "normal".

I do agree, however, that logs are very important. I think we really need to know what flags have been tripped by each user. Right now we have absolutely nothing to base an approve or deny decision on if a user goes to approval.

I have previously rejected a user from my site on the basis that I presumed the spam detection would be accurate, only for them to then contact me and tell me they're trying to buy my Gallery... Not the best start to give to a customer :)

In future I will approve them by default, but move them immediately into a restricted usergroup.

And -- maybe that's a good interim solution until we get better reports. Instead of automatically placing a user into manual approval -- instead maybe there should be an option to put them in a special usergroup instead.
 
I have a few changes I'd like to request to the spam filter

1) Would it be possible to get the spam filter to be included in the "InlineModControls" overlay for mass-removal of spam? Some of our boards get hit by a lot of spammers in a short time span. I'd love to be able to mass-kill that from the thread-list by checking the boxes, and easily applying the default spam rules to all selected posts.
2) When having used the spam-filter, you're presented with a list of users with similar IPs as the censored censored censored OMG I can't believe you just said that censored> you just banned. Would it be possible to sort this so not-banned users show up at the top, rather than having to scroll down further and further in case of numerous users?
 
I have a few changes I'd like to request to the spam filter

1) Would it be possible to get the spam filter to be included in the "InlineModControls" overlay for mass-removal of spam? Some of our boards get hit by a lot of spammers in a short time span. I'd love to be able to mass-kill that from the thread-list by checking the boxes, and easily applying the default spam rules to all selected posts.
2) When having used the spam-filter, you're presented with a list of users with similar IPs as the censored censored censored OMG I can't believe you just said that censored> you just banned. Would it be possible to sort this so not-banned users show up at the top, rather than having to scroll down further and further in case of numerous users?

Probably best to make a suggestion thread for those. :)
 
Top Bottom