Skip to content

Spam spam spam

Solved Configure
6 2 1.2k 1
  • My nodebb instance had 50 new joiners over a month, all posting spam.
    I had to turn on Admin approval to try and limit this.
    But Im still getting Spammers. Location of IP gives a clue as most of these accounts come from a certain area, but its impossible to know for sure.
    How to enable code that on registration they have to type why they want to join forum, so admin has more idea on what their motivations are?

  • My nodebb instance had 50 new joiners over a month, all posting spam.
    I had to turn on Admin approval to try and limit this.
    But Im still getting Spammers. Location of IP gives a clue as most of these accounts come from a certain area, but its impossible to know for sure.
    How to enable code that on registration they have to type why they want to join forum, so admin has more idea on what their motivations are?

    @Panda the simplest way around this is to leverage the post queue in NodeBB. You could also have a look at nodebb-plugin-registration which asks a question which the user needs to answer before being able to proceed.

  • What do you mean by ‘leverage the post queue’?

    nodebb-plugin-registration doesnt seem to be on the ACP list of plugins?

  • What do you mean by ‘leverage the post queue’?

    nodebb-plugin-registration doesnt seem to be on the ACP list of plugins?

    @Panda said in Spam spam spam:

    What do you mean by ‘leverage the post queue’?

    This specific feature allows you to vet all incoming post requests in the form of a queue before they are applied so you can decide if they are appropriate or not before releasing them.

    @Panda said in Spam spam spam:

    nodebb-plugin-registration doesnt seem to be on the ACP list of plugins?

    Correct. It needs to be installed using the CLI.

  • ok, yes Ive seen the queue, it shows IP, but doesnt have a field for comments from registrant.

    It would be better if nodebb had this plugin included in ACP list, as not only then do you know its approved and should work, but many people cant or dont want to use CLI on the server

  • Pandaundefined Panda has marked this topic as solved on
  • ok, yes Ive seen the queue, it shows IP, but doesnt have a field for comments from registrant.

    It would be better if nodebb had this plugin included in ACP list, as not only then do you know its approved and should work, but many people cant or dont want to use CLI on the server

    @Panda said in Spam spam spam:

    ok, yes Ive seen the queue, it shows IP, but doesnt have a field for comments from registrant.

    It’s not designed for that. It merely serves as a gateway between posts appearing on your form or not.

    @Panda said in Spam spam spam:

    It would be better if nodebb had this plugin included in ACP list, as not only then do you know its approved and should work, but many people cant or dont want to use CLI on the server

    That’s a question for the NodeBB devs but in all honesty you can’t not use the CLI when installing nodebb so to be this isn’t a big deal.


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Smart Widgets

    Solved Configure nodebb
    9
    3 Votes
    9 Posts
    2k Views
    @Panda said in Smart Widgets: So why is that, or conversely why would the function to expose username ever be required, as it seems app.user is already an available global object? It is, yes, but not if you are using it outside of a widget. The function I wrote is also historical and comes from the 2.x train
  • 4 Votes
    8 Posts
    2k Views
    @Panda said in Upgrade to NodeBB v3? 2BB or not 2BB, that is the question!: So although thats a plugin it has Widget like element and stopped working on the Theme change Which is normal based on the widgets being reset when you change themes.
  • nodebb loading emojis

    Solved Configure nodebb emojis
    16
    1
    1 Votes
    16 Posts
    3k Views
    @DownPW sure. Let me have a look at this in more detail. I know nginx plus has extensive support for this, but it’s not impossible to get somewhere near acceptable with the standard version. You might be better off handling this at the Cloudflare level given that it sits in between the requesting client and your server.
  • optional "snow falling" theme

    Solved Customisation nodebb
    6
    6 Votes
    6 Posts
    1k Views
    @Sala ok, but that’s still the same loop which is going to have an impact on the CPU.
  • Rotating homepage icons, gifs?

    Solved Configure nodebb
    2
    3 Votes
    2 Posts
    910 Views
    @eveh It’s not a GIF, no. It’s actually a webp file so made much smaller, and uses keyframes to control the rotation on hover. You can easily make your own though The CSS for that is as below @keyframes rotate180 { from { transform: rotate(0deg); } to { transform: rotate(180deg); } } @keyframes rotate0 { from { transform: rotate(180deg); } to { transform: rotate(0deg); } } Your milage may vary on the CSS below, as it’s custom for Sudonix, but this is the class that is used to control the rotate .header .forum-logo, img.forum-logo.head { max-height: 50px; width: auto; height: 30px; margin-top: 9px; max-width: 150px; min-width: 32px; display: inline-block; animation-name: rotate180, rotate0; animation-duration: 1000ms; animation-delay: 0s, 1000ms; animation-iteration-count: 1; animation-timing-function: linear; transition: transform 1000ms ease-in-out; }
  • Adding fileWrite to nodebb code

    Solved Configure nodebb
    16
    1
    5 Votes
    16 Posts
    3k Views
    @eveh this might be a question for the NodeBB Devs themselves. In all honesty, I’m not entirely sure without having to research this myself.
  • [NODEBB] Help for my custom CSS

    Solved Customisation nodebb css bugfix
    237
    49 Votes
    237 Posts
    100k Views
    @baris said: You should change your selectors so it doesn’t look at the entire document. You probably only want to apply fancybox to stuff inside the #content element which is what changes when the user navigates around the page. So use $('#content a').... for your selectors then the forum logo in the header won’t be selected. I modified the JS Fancybox code now and this code and it seem better // --------------------------------------------- // Fancybox Media Reader (Without Website Logo) // --------------------------------------------- if (top.location.pathname !== '/login') { $(window).on('action:posts.loaded', function(data) { console.log("Polling DOM for lazyLoaded images to apply Fancybox"); $(document).ready(function() { $('#content a').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); }); }); }); } if (top.location.pathname !== '/login') { $(document).ready(function() { $(window).on('action:ajaxify.end', function(data) { $('#content a').not('.logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); data.preventDefault() // Strip out the images contained inside blockquotes as this looks nasty :) $('#content blockquote img').remove(); }); Fancybox.bind( '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]', { groupAll: true, } ); }); }); } // Chat fancybox - fires when chat module loaded and AJAX calls new chat $(document).ready(function() { $(window).on('action:chat.loaded', function(data) { // >>> Se limiter au contenu principal uniquement <<< $('#content img').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { var newHref = $(this).attr("src"); $(this).wrap("<a class='fancybox' href='" + newHref + "'/>"); $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); data.preventDefault(); // Strip out the images contained inside blockquotes as this looks nasty :) $('#content blockquote img').remove(); }); Fancybox.bind( '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]', { groupAll: true, } ); }); }); For the logo, I must use overflow: visible !important; on [component="brand/logo"] /* --- Logo --- */ [component="brand/logo"] { max-height: 50px; width: auto; height: auto; max-width: 100%; display: block; object-fit: contain; object-position: left center; overflow: visible !important; } Better result !!
  • Forum registration email goes to spam

    Moved Solved Configure
    6
    1 Votes
    6 Posts
    2k Views
    @phenomlab emails mate, although I seem to have used a different email on each browser to remain logged in for cough cough posts .