Go Back   vb.org Archive > vBulletin Modifications > vBulletin 3.8 Modifications > vBulletin 3.8 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Spambot Stopper - Prevent Spambots from Registering Details »»
Spambot Stopper - Prevent Spambots from Registering
Version: 1.0.1, by kh99 kh99 is offline
Developer Last Online: Sep 2020 Show Printable Version Email this Page

Category: Anti-Spam Options - Version: 3.8.x Rating:
Released: 01-31-2013 Last Update: 03-07-2013 Installs: 64
Uses Plugins Auto-Templates
Re-useable Code Translations  
No support by the author.

What is it?
----------------------------
This mod rejects registrations where the form is filled out in less than a minimum time. You can configure one of the following actions to be taken when an automated registration is detected:

- Show a "No Permissions" page
- Display the "Successful Registration" message but without creating an account
- Redirect the user to any URL you choose
- Reload the registration page with an error message of your choosing

You can also provide a list of email addresses to be notified each time a registration is blocked.

In the future, I'd like to add some simple logging and statistics, and a summary type of email notification (because people seem to quickly get tired of the single emails).

Note: I coded this myself from scratch, but I would like to acknowledge a couple of previous mods that used this same idea, by users Calorie and noppid, and maybe others. In any case, I believe this one adds some features that the others don't have.

Other advantages: no ads or links, no abuse of update notifications, no disappearing features, no threats to delete the mod (it will never be deleted, at least by me). Also, translations are allowed.

Installation:
----------------------------
1) If you have "Is Bot", "Stop the Registration Bots", "Spammers Suck!", or another mod that works on registration time, note any admincp settings for that mod then uninstall it.

2) Import the product XML file from the Product Manager.

3) Go to Settings > Options > Spambot Stopper Options and configure the desired settings.

4) IMPORTANT: try to register a new user to make sure that there are no problems with humans registering. If you want, you can also temporarily set the minimum time to a higher value (like 60 seconds) and test to see if the spammer rejection is working.



History:
----------------------------
1.0.1 (Feb 1, 2013)
  • Initial Release

Download Now

File Type: zip product-kh99_spambot_stopper_vb3_1.0.1.zip (106.3 KB, 405 views)

Screenshots

File Type: jpg sg1.jpg (118.3 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 05-13-2014, 08:05 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RyanC View Post
So I have this installed and it's working great on a very large forum.... However about five times a day I get an email from a user complaining of this error on registration attempt:

Any idea what could be causing this?
All I can say is that it doesn't look like anything from this mod. "whois" looks up domain names, so I would guess that maybe it's another mod that checks email domain or maybe the user's ip address. In any case, my mod doesn't include that file.
Reply With Quote
  #23  
Old 05-14-2014, 12:46 AM
DamasGate DamasGate is offline
 
Join Date: Aug 2003
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed

Impressed with the idea

Thank you
Reply With Quote
  #24  
Old 12-18-2014, 08:27 AM
Prune Danish Prune Danish is offline
 
Join Date: Dec 2006
Location: Copenhagen, Denmark
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I installed it. It's so nonintrusive that there was no reason not to.

It would be nice with a log -- just a simple text-file -- that records at least the IP and time stamps. Not only is such a log necessary if a legitimate user complains that he hasn't received a mail. I'm also unable to vote on your product if I don't know what it's doing.

Another feature I miss -- but this is probably outside your scope -- is when a bot answers our human verification questions. It would be nice to know WHICH question the bot has successfully answered.
Reply With Quote
  #25  
Old 12-18-2014, 09:55 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I understand. If you read the vb4 thread you saw that logging was mentioned a lot of times, but I never got around to adding it. I actually had a verison where all the data was collected for logging (including the answer to the hv question, if that option was turned on), but I just never got around to completing it. I haven't completely given up on the idea.
Reply With Quote
  #26  
Old 12-19-2014, 11:58 AM
Prune Danish Prune Danish is offline
 
Join Date: Dec 2006
Location: Copenhagen, Denmark
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
I understand. If you read the vb4 thread you saw that logging was mentioned a lot of times, but I never got around to adding it.
Thanks for answering.

No, I haven't looked at the vb4 thread. I was just referring to the top of the present page, where you write, "In the future, I'd like to add some simple logging and statistics". I tried registering at my site a few days ago (before installing Spambot Stopper) and for some reason I never got a confirmation mail, even though hundreds of spam accounts were being created at the same time.

If Spambot Stopper had been installed I would of course have blamed it.


Quote:
Originally Posted by kh99 View Post
(including the answer to the hv question, if that option was turned on)
So it is possible?

That would be nice. We were hit by something like XRumer and several hundreds of accounts were added.

For years we have relied om questions/answers. When we were hit I switched to reCaptcha, which didn't slow them down in the slightest. Then I deleted the easiest questions (but not all) and added some new ones.

That solved the problem for now, but if Spambot Stopper could tell us which questions are being answered correctly -- before rejecting the bots -- we could stay one step ahead of the spammers.
Reply With Quote
  #27  
Old 12-19-2014, 12:11 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I'm not sure when or if I'll get around to updating this. Now that I think about it I don't think the vb3 version is even up to date with the vb4 version. But in case this helps, a while back I wanted to know the same thing. I was wondering if spammers were registering by making many guesses of the questions or if they somehow knew the answers. So I found the section of code that checked the answer, and I edited the file and put in code to write information to a log file. But I guess you have to be able to do at least basic php programming to do that.

I'm going to think about that. Maybe it's possible to make a simple mod for that that wouldn't require file edits.
Reply With Quote
  #28  
Old 12-19-2014, 07:34 PM
Prune Danish Prune Danish is offline
 
Join Date: Dec 2006
Location: Copenhagen, Denmark
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
So I found the section of code that checked the answer, and I edited the file and put in code to write information to a log file. But I guess you have to be able to do at least basic php programming to do that.
Great minds think alike. I did just that.

In the hook named "register_start / Check Elapsed Time" I added the following code after "$email = kh99_sbs_fix_string($vbulletin->GPC['email']);"

Code:
           $answer = $_REQUEST['humanverify']['input'];          
           $hash   = $_REQUEST['humanverify']['hash'];

           $questionx = $db->query_first("
				SELECT answer
				FROM " . TABLE_PREFIX . "humanverify
				WHERE hash = '" . $db->escape_string($hash) . "'");
         
           $question_num = $questionx['answer'];

           $fd = fopen ($_SERVER["DOCUMENT_ROOT"]."/<some-path>/<some-file>", "a");
           if ($fd) {
           		$ipaddr = $_SERVER["REMOTE_ADDR"];
           		fwrite ($fd, date("r")." $ipaddr $username $email \n");
           		fwrite ($fd, "\t\t Question number $question_num: $answer  \n");
           		fclose ($fd);
           		}
Just alter "<some-path>" and "<some-file">" to proper names.

Thanks for the inspiration. I gave Spambot Stopper an "Excellent" vote. It's a good product and an excellent inspiration.
Reply With Quote
  #29  
Old 12-19-2014, 07:53 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, glad you figured it out.

And just to be clear, I didn't mean to imply that you didn't know php programming, but of course not everyone does so I didn't want to assume that you'd be able to do it yourself.
Reply With Quote
  #30  
Old 12-19-2014, 08:00 PM
Prune Danish Prune Danish is offline
 
Join Date: Dec 2006
Location: Copenhagen, Denmark
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
I was wondering if spammers were registering by making many guesses of the questions or if they somehow knew the answers.
Wow. Within 10 minutes I have had 5 "visits" Each made 4 attempts but did not supply an answer.
Reply With Quote
  #31  
Old 12-19-2014, 08:02 PM
Prune Danish Prune Danish is offline
 
Join Date: Dec 2006
Location: Copenhagen, Denmark
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
And just to be clear, I didn't mean to imply that you didn't know php programming, but of course not everyone does so I didn't want to assume that you'd be able to do it yourself.
No, that's fine. I've coded some php, but this is the first time I've touched a hook. It did take several tries.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:29 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07417 seconds
  • Memory Usage 2,336KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete