Community moderated spam control?



  • Hi everyone,

    I have a very active forum that I'm considering migrating to NodeBB. But one feature that is critical to the way my community works is community moderated spam control. Basically, all users need to be able to flag a post as spam, and if a post is flagged a certain number of times it should be removed or added to the spam moderation queue, and if a given user has enough of his posts flagged by enough users his account should be blocked.

    This system works extremely well for eliminating human-generated spam in my community that runs on a different forum software, and is a critical piece of functionality that I would need to switch to NodeBB, which otherwise looks perfect for my needs.

    Thanks a lot.


  • Translator

    NodeBB has flagging for moderation, so far all of this process is manual and can be accessed from the Admin Panel to be reviewed.



  • @Kowlin said:

    NodeBB has flagging for moderation, so far all of this process is manual and can be accessed from the Admin Panel to be reviewed.

    @Kowlin Thanks for the reply. The thing is that my community members are very vigilant about removing spam (mainly manual human spam), and this greatly reduced administrative load. That's why a community moderated solution is the best option for many forum userbases.


  • Translator

    @sb56637 I absolutely agree with you, I've also had a look at the report system on Master and it seems that it has changed a bit to support category's such as spam and offensive behavior. I have no idea if this currently effects on how the reports get handled in the back end.


  • Admin

    Community-powered spam control could be implemented via plugin, though it is a judgement call as to who gets this privilege and whether it can be easily abused...



  • @julian Yes, there is potential for abuse. In my current forum (Drupal 6) I have implemented a few checks and balances:

    1. X spam clicks from different users removes the post
    2. (X*2)+1 spam clicks across all of the user's posts locks the account
    3. Each user gets a maximum of X*2 spam clicks per hour (so a single user account can't do a fast organized attack against a user to get him maliciously blocked.)
    4. A user's supply of valid spam reports gradually replenishes.
    5. A user's record of spam hits gradually erases itself.
    6. Users that have been registered for longer than Y days can not be locked out.
    7. Very new users can mark a post as spam and contribute to it being eliminated, but their clicks don't count toward the total needed to block the user's account.

    This has worked extremely well, and although it does occasionally require manual intervention, it's much less than the amount of time needed to manually sift through a reported spam moderation queue.


  • Admin

    Interesting.


  • Admin

    I'd add one more criteria, if a post is accepted communally as spam, you get your flag quota back (because that validates your original flag)

    This doesn't sound too impossible to build, I love the idea of being able to configure this much in depth

    I'd like to look at the drupal php code for this. Any link?

    EDIT: #6 can be a problem as spammers are known to register weeks or even months in advanced before pulling the trigger. Likely to counteract this exact logic



  • #6 Users that have been registered for longer than Y days can not be locked out.

    "&& have published n number of non-spam posts."

    Adding that condition might solve the problem pointed out by @psychobunny here.


  • Admin

    @sb56637 Wow, very detailed! Excellent skeleton for us to mimic 🙂


  • Admin

    I do want to see the code for this, not that I'm planning to blatantly copy, but sometimes it's good to take the best ideas and run with it and improve. That system sounds great. The nbb team have worked with drupal many years ago and I don't recall that spam detection code, must be new?



  • @psychobunny said:

    I do want to see the code for this, not that I'm planning to blatantly copy, but sometimes it's good to take the best ideas and run with it and improve. That system sounds great. The nbb team have worked with drupal many years ago and I don't recall that spam detection code, must be new?

    It's actually a custom system I put together using Flags, Userpoints, and Rules. I'd be more than happy to share the code except for there isn't any. 😃 It was all point-n-click created in the interfaces of those three modules. And just as well, because I'm a pretty bad coder. 😛 That's definitely a nice perk about using Drupal, it's extremely flexible and relatively easy for non-coders to tweak to their needs. But @psychobunny if you want to copy the idea in NodeBB please feel free and go right ahead, that's why I made this post.

    @psychobunny said:

    I'd add one more criteria, if a post is accepted communally as spam, you get your flag quota back (because that validates your original flag)

    Great idea.

    @henrywright said:

    #6 Users that have been registered for longer than Y days can not be locked out.

    "&& have published n number of non-spam posts."

    Adding that condition might solve the problem pointed out by @psychobunny here.

    Also a great idea.

    Let me know if you have any other questions! Thanks for all the replies and interest.


Log in to reply
 


Star

Looks like your connection to NodeBB was lost, please wait while we try to reconnect.