![]() |
MonkeyStop - Auto-Moderation of Spammer Keywords and URLs by postcount
Description
----------- A quick but effective hack that lets you set keywords that will flag posts and set as Moderated, requiring approval from a mod/supermod/admin before they're visible to users. You can also set the number of URLs to be allowed per post to stop flooding from spammers. Additionally, you can configure the number of posts required to avoid the moderation, so the filter only effects new users to your forum. Installation ------------ Import product-monkeystop.xml (ACP / vBulletin Options / Manage Products / [Add/Import Product]) Usage ------------ Configure the product in ACP / vBulletin Options / vBulletin Options / General Settings. (scroll to the bottom) New threads and posts containing the offenses will automatically be moderated. You can view moderated threads in ACP / Moderation / Moderate Threads. You should also see an icon in the thread postbit and forum display if the post is moderated (see screenshot). Since most spammers register then spam your board while their post count is low, it may be effective to leave the default values (0 URLs allowed until post count is 3) or even up the post count requirement. If you wish to allow some links, change URLs to 1 or 2 for example. !!! Warning !!! ------------ If you allow keyword auto-moderation, your users will receive an "Invalid Thread" message when they use a flagged word on new threads because it's a moderated thread. However this error can be customized here: Admin Panel / Phrase Manager / phrase type: Error Messages / invalidid (page 15 or so of the errors) I added: Code:
<br/><br/>If you received this message immediately after posting a new thread, there's a good chance your message was flagged as spam. Please read this thread for more info. Credits ----------- This is a hack of the "Auto Moderation by Keywords" mod by Andreas (https://vborg.vbsupport.ru/member.php?u=47102) Thanks go out for his great mod -- if only I could PM or e-mail him to thank him directly! I only made minor changes to the mod to allow it to work with vBulletin 3.6.0 (by default it wouldn't work on new threads) and to auto-moderate posts URLs. So give him credit if you think it's cool, but his PM box is full. ;) Dan "Tweak Monkey" Kennedy History ----------- v1.0.1: Added minimum post count option v1.0.0: Initial release |
Based on the assumption that spammers always use a URL, can I just set http:// as a keyword?
Can it be made so only members posting the first time is subjected to that? |
this is almost identical to andreas code.
|
Quote:
Quote:
|
Quote:
I tried PMing Andreas to request an update but his PM box is full. I also tried e-mailing him but his address is not listed. His web site was too confusing for me (as it's not English and some pop-ups that got in the way) so I couldn't find a way to contact him about this mod. He hadn't updated his mod in over a year and doesn't list that he supports it -- meaning that anyone using VB 3.6+ doesn't have the option to use it (and it's a great concept for sure). I figured this could help some people and I give him all the credit for the original mod in both my post and the readme.txt. I just gave it a slightly different name so I can keep developing it without conflicting with his version -- if I make more changes I'll post them up and anyone can use them / modify them as well to continue developing this concept. I hope this is acceptable, I really just wanted to help the community. Here are the changes I made in case you were curious: --- 1) Andreas' code did not work with VB 3.6.0 (at least for me) because the $this->fetch_field('pagetext') field seemed invalid when posting new threads, so his mod did not stop new threads from being posted (the biggest problem with spammers). I changed this to $this->fetch_field('pagetext', 'post') which fixed this. 2) I added two alternate conditional statements that check how many times the string "http:" is contained in the post: Code:
if (substr_count($this->fetch_field('pagetext', 'post'), 'http:') > $this->registry->options['automodurls']) 3) I added the # of URLs to the plugin as a new setting so it can be defined in the admin panel. 4) Andreas code said to use "colon" to separate the keywords, but it requires commas. 5) There was at least one typo and some hard to digest instructions that I cleaned up. I also re-wrote the readme with info on how to warn users their thread was blocked, since that wasn't addressed in the original. 6) It now also checks the post count of the user and only filters posts if they are below the threshold. |
Great idea! I don't have any spam problems on my site but if it comes up i'll remember this :)
|
Quote:
|
This sounds really useful. I hope there is no issue with you developing this. It's a very nice thing to share it. May use this in the near future.
|
Is there any chance of adding a feature to this that would automatically move posts containing predefined words to an assigned forum? It would save me a whole lot of time :P
|
this sounds promising, i have occassional spammers, mostly trying to sell drugs
|
Quote:
|
I've found it's also effective to add the keyword "www" to the filter, so if low-postcount spammers don't post the full URL it will still block their posts.
|
Finally Done!
Thanks Dan, i was waiting for this |
Can someone post a screenshot of "Configure the product" settings?
|
Quote:
|
This is a very nifty, but powerful modification. Many Thanxx for creating and sharing it with all of us!
|
Well I broke it somehow.:confused: I imported the .xml file, set the critera in the AdminCP, and then edited the invalidid phrase and it worked fine at first. Then I went and created a new discussion thread (similar to yours) that the invalidid phrase error could point them towards. Lastly, I went back and re-edited the invalidid phrase with the address of that newly created thread. Once I did that, I no longer get an error notice anymore when I post spam now.:disappointed: The MOD still works, in that it seems to perfectly catch what needs to be held for moderation...it's just it doesn't tell the author anything about what's being done.(i.e. Doesn't seem like the invalidid error msg is being called upon any longer) After posting, the screen refreshes and you're brought back to the thread, but w/o the spam message showing up you just posted.(as it's being held for moderation now) I went back and reset the invalidid phrase to original and it didn't help any. I went back and re-imported the .xml file and it didn't help. Any ideas as to what else could be wrong?? EDIT: Nothing is broke, I just didn't understand how the MOD works. Turns out it still works perfectly for NEW THREADS. It just doesn't show the person posting a REPLY or QUICK REPLY the error message as I thought it would. In either case, it still marks the message awaiting moderation as it should though. :up: |
Quote:
|
They are individually checked except postcount.
If you set the keywords to blank, it will only use the number of URLs and post count. If you don't want to use the URL option set it very high, like 50 per post. If you don't want to use the postcount option, set it to 0. |
Quote:
I changed the message here: Languages & Phrases -> Phrase Manager -> Phrase Type: Error Messages -> invalidid I noticed the option exists in the Language Manager as well but it does not seem to make the error message change. This error message should be independent of the mod -- meaning if you uninstalled the mod you should be able to change this error to "I eat sandwiches" or something and see it whenever a thread is not found or is moderated. Ideally I'll mod it to give the same message given when a user posts a message that is flagged as moderated, but I don't know where to do this yet... |
I am very happy with this hack. I think it's the best spam stopper I've seen so far. Based on the principle that those spammers will register for the sole purpose to post a URL, I have been able to stop all of them.
Anyway I came here to thank you again, but I saw it was updated yesterday. I am curious to know what was changed, because it works for me. |
I believe it says I updated it because I added a screenshot. Sorry for the confusion. I will do a mass-message if there are major updates. If you have any suggestions or run into problems please PM or reply here. Thanks and I'm glad you like it! :)
|
Hi Tweakmonkey!
I installed this mod (3.6.0) and am having a different problem and a similar problem as the one that adwade was/is having. 1st. the mod worked just like you said it would. So I too adjusted the error message. The only problem in my Admincp >Language & Phrases > Phrase Manager > Phrase Type: (I did not have the "phrase type: Error Messages / invalidid" as a choice) SO, to find the actual phrase that was coming up, I created a new thread and got the error message and then searched in Phrases and found the phrase to edit. (invalidid > *inside* Front end Error Messages [probably the place you meant for us to edit in the first place). Anyway, so I make the change as you suggest. I test the mod with a new thread using a spam keyword. IT WORKS! Then I test with a url. IT WORKS 2! I get really excited as I think - "Finally the end of my spammer issue". BUT then, I test the 'Quick Reply" function and the mod works, but posts the message for the spammer to see, just not for other members or guests -- and the spammer doesn't get the error message. It just appears that the post worked. The other issue is that when I go to moderate the post, I cannot see it in the regular forum pages although in the New Post indicator it shows a new post - but when I click the link to the new posts, nothing shows up. I have to log into the admincp to moderate the post. 2nd. issue. So, the quick reply made me try the post reply function. It performed the say way as the quick reply. So, long story short: This mod seems only to work on New Threads. It sort of works on replies, but not like you intended --at least for me. If I have screwed something up, let me know. Thanks so much for this modification! Even with the two small problems I have with it, it will help slow down the spam problem. Warm Regards, Kether |
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
|
Quote:
Case #1 - A Spam type NEW THREAD is created using the URL feature (i.e. [URL]) and everything seems to work just fine. In that the posting of such a msg will ellicit an error msg and mark the msg for moderation. Case #2 - A Spam type NEW THREAD is created containing a word in the keyword list.(i.e. 'www') Error msg is generated and thread is correctly moved into awaiting moderation status. Case #3 - A Spam type REPLY will mark the msg for moderation, but will not give an error message IF for instance you enter a LINK w/o using the URL feature -or- if you enter a LINK with the URL feature. The reply is immediately hidden from the user and awaits moderation. Case #4 - A Spam type QUICK REPLY will mark the msg for moderation, but will not give an error message, yet the QUICK REPLY is immediately shown to the one posting it. If he reloads the page, or revisits the thread later the QUICK REPLY msg does not show up.(as it's awaiting moderation) So from what I can tell, the MOD always works correctly to move the msg to awaiting moderation status. It's just that if/when using reply (Case #3) or quick reply (Case #4) nothing trips the error msg to be displayed to the poster. |
Quote:
Ah, gotcha. I don't know a solution for this problem yet. Scroll up a bit to see my last reply to the other person that asked this question. The possible options I see are: 1) Change the way moderated messages are flagged to users if it's their own message (maybe style the CSS differently or something). 2) Disable the moderation feature on Replies (since most spammers tend to post new threads, at least on my forums). This can be done by uninstalling the specific plugin Auto Moderation for New Replies. I'll try to think of a better way to implement #1. Adding another warning that a user's reply has been moderated would involve some serious code hack as far as I can tell. I only use the mod for low post counts and so far haven't run into this problem yet. My forum is relatively small though with around 110,000 posts / 280 active users (~1300 members). |
Quote:
Quote:
Quote:
Anyway, it's a TREMENDOUS MOD! I can't wait for Nov so I can nominate it for Hack of the Month. Can one nominate a Beta product for such?? |
Is there a way to stop it moderating rss feeds?
|
Quote:
|
Thanks for this!
Two suggestions. First, a "per forum" setting would be nice as I am not using this for SPAM issues but to block certain content. I think this would be a workaround for the RSS issues as well since I think most people have a seperate forum just for importing RSS feeds. Second, and this is a long shot, it would be nice to be able to enter boolean-like commands in the keyword field. Examples: -Adding quotes to a keyword to match only that word. Currently entering the word BOX seems to trigger moderation with such words as BOXING. -Being able to use the (-) modifier. Such as WORD1,WORD2,-WORD3 and if the thread contains WORD1 or WORD2 but also WORD3 it would not trigger moderation. Working great as is though, thanks again. |
not sure if this has been pointed out yet but one way around this for the spammer is to make a legitimate post with no keyword triggers, then edit it to add the spam.
|
It sounds great. I may give it a try soon.
Any comments on server performance impact? One nice thing might be an additional option to "Apply to the Following Usergroups." So we're not using any processing power on established members who are unlikely to spam. |
Wow, this is cool, can I install this now, (disable it) And enable it when I need it?
|
I just had an issue where send to friend was being exploited by unregistered to send out spam. I now made it that only registered can use send to friend, but I know that these guys will register so they keep on spamming.
Is there a way to prevent people with the minimum post to use send to friend? |
I suppose I could squeeze an error message between
Quote:
|
I have the post count set to 5. And when I have new user, it automatically goes to moderated even if there are not "bad" keywords in the post?
Is this the way it is supposed to work? I thought if they had no bad keywords it would not be moderated? Thanks for any advice |
Issue: The product is working like it says, but I am running into trouble.
A legitimate thread was flagged, so I approved it, but later the poster edited the first post, so the post was flagged and went back into the moderation queue. I was not able to approve the post. Nothing I could do would remove the moderation on that post until I disabled the product. Any ideas? |
Could someone tell me how to stop this from moderating RSS feeds? (The feeds are being posted by admin)
|
I've set the number of posts to 3. Lately, they've been coming and posting like 8, 10 times in a row, therefore bypassing the safety after 3 post.
Right now, I've increase it to 10 posts which is not really fair for the good new member. Is there a way to automatically ban based on time that posts were made? For example the guy comes and make 3 or more flagged posts in less than 10 minutes for example, then it's obvious it's a spammer trying to flood so we ban him. |
All times are GMT. The time now is 06:23 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|