Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x 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.1.1, by kh99 kh99 is offline
Developer Last Online: Sep 2020 Show Printable Version Email this Page

Category: Anti-Spam Options - Version: 4.x.x Rating:
Released: 01-31-2013 Last Update: 02-15-2013 Installs: 443
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.

Added for version 1.1.1: Time delay enforcer, maximum time option, time limits to cut down on email notifications, posting to a thread.

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.1.1 (Feb 16, 2013)
  • Added timer for enforcing minimum time
  • Added maximum registration time limit
  • Added time limits for email notifications
  • Added posting notificatiosn to a thread

1.0.1 (Feb 01, 2013)
  • Fixed bug
  • Added check for fake timestamps

1.0 (Jan 31, 2013)
  • Initial Release

Download Now

File Type: zip product-kh99_spambot_stopper_1.1.1.zip (111.5 KB, 2335 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
  #12  
Old 02-01-2013, 04:59 PM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
There's an update because I found a bug while working on other features. Sorry for the inconvenience.

Edit: BTW, have people confirmed that this is working for them?
Definitely working for me. Recommend increasing the limit to 20 seconds from the default 15 though - several obvious spambots being caught at 17, 18 seconds on 4 forums where I'm using it.
Reply With Quote
Благодарность от:
kh99
  #13  
Old 02-01-2013, 05:02 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks. I'll increase the default to 20 in future releases.

And thanks for the confirmation. I kind of rushed out the update because I wasn't sure what effect the bug might have had, but if it was working for you then the answer is that it wasn't having any effect.
Reply With Quote
  #14  
Old 02-01-2013, 05:03 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

bots always pick the first answer in required profile field. So one question is Are you a spammer?

yes
no

and they all pick up yes. That bans them automatically

suggestion. Why not add IP in database and also check IP when registering?
Reply With Quote
Благодарность от:
Avros
  #15  
Old 02-01-2013, 05:08 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lionel View Post
bots always pick the first answer in required profile field. So one question is Are you a spammer?

yes
no

and they all pick up yes. That bans them automatically
That's a good tip. Is there a mod that does the banning?


Quote:
suggestion. Why not add IP in database and also check IP when registering?
I'm not sure what you mean - can you elaborate on that?
Reply With Quote
  #16  
Old 02-01-2013, 05:28 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No I just added it manually in global_bootstrap_init_start
PHP Code:
if( $vbulletin->userinfo['field10'] == '0'

$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "user SET usergroupid = '8' WHERE userid = '" $vbulletin->userinfo['userid'] . "'"); 

I ask them which version of vb they are using? but that's specific to my site

0
1.0
2.0
3.0
4.0
5.0
and they all pick up 0
and for banned IP, once banned I insert IP in a custom table and at registration:
And I verify that IP at registration register_addmember_process
PHP Code:
$ip $_SERVER['REMOTE_ADDR']; 
$dateline time(); 
$bannedip = array(); 
$bans $vbulletin->db->query_read("SELECT ip FROM " TABLE_PREFIX "bannedip"); 
WHILE(
$ban $vbulletin->db->fetch_array($bans)) 

$bannedip[] = $ban['ip']; 

unset(
$ban); 
$vbulletin->db->free_result($bans); 
if(
in_array($ip$bannedip)) 


{
//then your mod kicks off 
I stop 80 to 150 bots daily and sort of solve that plague
Reply With Quote
  #17  
Old 02-01-2013, 05:39 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, that sounds great. If that's your code and you're giving me permission, maybe I'll include those as options in a later version.
Reply With Quote
  #18  
Old 02-01-2013, 05:46 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sure you can include a vboptions to include the trick profile field id.
Once banned I send user to gay.com

I have been using this for 6 months now and that finally gave me a break
Reply With Quote
Благодарность от:
  #19  
Old 02-01-2013, 05:51 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Required custom profile fields is great as that increase the registration time
Reply With Quote
  #20  
Old 02-01-2013, 05:59 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, I'll consider those for the next update.
Reply With Quote
  #21  
Old 02-01-2013, 06:01 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

And for those complaining about amount of emails they are getting, just create and outlook rule to send those mails to a specific folder, then delete the contents of that folder daily. You will be surprised how fast it gets filled up with banned notifications
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 01:48 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.06337 seconds
  • Memory Usage 2,365KB
  • Queries Executed 28 (?)
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
  • (2)bbcode_php
  • (3)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
  • (3)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (17)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit
  • (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_postinfo_query
  • fetch_postinfo
  • 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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • 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