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

Reply
 
Thread Tools
Stop the Registration Bots Details »»
Stop the Registration Bots
Version: 1.2.2, by noppid noppid is offline
Developer Last Online: Sep 2015 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.7.x Rating:
Released: 06-29-2008 Last Update: 12-07-2012 Installs: 624
DB Changes Uses Plugins Template Edits
Re-useable Code Additional Files Translations  
No support by the author.

Control your vBulletin forum registration process and stop the registration bots.

This mod will check the the time it takes for a vBulletin registration form to be submitted. If the form is submitted faster then humanly possible, the registration will be denied and the admin contact will be emailed about the event. The time is settable

We will start the registration on the forum rules page in two ways. First we will add a custom hidden field with a hash. Second we will insert a randomly named hidden field with a random value. This should make it a bit difficult to program a bot since the field names on all sites will be different as well as the values.

We will use a second set of random hidden fields on the form page as well to add to the confusion.

Time stamps to check the time spent on registration submission are stored in a DB table and private.

A registration will have to come through the Rules page and the form. Every Site will be different.

Installation is very easy.

There are two templates to edit.
One database table is added.
Three hooks are utilized.
Includes uninstall code.
Adds to vBulletin options.
Set time frame option.
Includes Phrases.
Sends Mail to Admin.
No files to upload.
XML product install.
Instructions attached in zip.

Demo usage and view source at http://www.riderinfo.com/

Compatibility
This hack is known to work on vBulletin 3.6.11 PL1 and will likely work back a few versions in the 3.6.x vBulletin series. Of course it works on 3.7.x as posted too.

HISTORY
1.2.2
added admin email on/off setting
moved hook code to files to reduce overhead.
1.2.1
Added Enable/Disable setting.
Fixed coppa includes file probem
Added file upload instructions to readme file.
1.2.0
Added JS timer to registration button.
Added enable/diable for email.
Removed ACP settings for random fields on rules and reg form pages and automated.
Reworded Pharses in ACP.
Recoded rules form and reg form edits.
Renamed variables for better code following.
Added more DB fields per user reg for tracking random automation.
New Hook on start_registration for functions.
Added new functions file. includes/stb_functions.php.
1.0.3
Changed input user name on rules form to random named hidden field with hash value.
Removed \n chars from email phrases.
All changes to registration are transparent to the folks registering.
Renamed DB username field to hash.
New hook on register_signup.
1.0.2
Added new Pre Reg Name hidden field to register form edits and ACP.
Added code to deal transparently with user deciding to change name after pre submitting it.
1.0.1
Fixed typo, changed 36000 to 3600 in product file.
1.0.0
Original Release.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
cmmguy, gr8dude

Comments
  #22  
Old 06-30-2008, 04:03 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think we can handle a changed name better with a check on submission. If this don't match that, name was changed, lookup record with old name not new name.

I'm thinking about this before I pull the trigger on any code.
Reply With Quote
  #23  
Old 06-30-2008, 04:57 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Name changes are dealt with now. And there is one more, unique to your site, hidden field added to the Registration form.

Great ideas folks! Ya'll can view the source code for the form at the demo site listed above in the mod description.

Let me read it over and see if I'm happy.

Upgrade will be to add one edit to the register template and install the product.
Reply With Quote
  #24  
Old 06-30-2008, 06:07 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just curious, how did you do the name change? Sounds like you canceled the hash idea.
Reply With Quote
  #25  
Old 06-30-2008, 06:10 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A direct link to the source code would be better as there is no way I can figure out where it is on the site.
Reply With Quote
  #26  
Old 06-30-2008, 07:15 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry for the confusion, I meant view the HTML form code. The Code is not posted except in the release file here and that is the old code.

Yeah, the hash was getting over complicated. We deal with the name change by using a second hidden field and track it with a unique name you set.

Seems to be working and handling errors properly on my site. I had installed a bug and messed things up for a while. But we stomped it.

Anyway, if you view the two forms, you'll see where we grab the pre-name on forum rules and then place it in a hidden on the reg form. That allows for tracking the record and the name changing.

The Pre-reg name field on rules is settable, the hidden field name that saves it on the reg form is settable, and we have the settable hiddens on each form.

Lot's of confusion. I confused myself even coding it.
Reply With Quote
  #27  
Old 06-30-2008, 07:21 PM
soundbarrierpro soundbarrierpro is offline
 
Join Date: Nov 2007
Posts: 767
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Shouldn't the registration permissions implemented in vb script stop the bots already? Or is this a bot detector for possible bot attempts to register?
Reply With Quote
  #28  
Old 06-30-2008, 07:25 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by noppid View Post
Sorry for the confusion, I meant view the HTML form code. The Code is not posted except in the release file here and that is the old code.

Yeah, the hash was getting over complicated. We deal with the name change by using a second hidden field and track it with a unique name you set.

Seems to be working and handling errors properly on my site. I had installed a bug and messed things up for a while. But we stomped it.

Anyway, if you view the two forms, you'll see where we grab the pre-name on forum rules and then place it in a hidden on the reg form. That allows for tracking the record and the name changing.

The Pre-reg name field on rules is settable, the hidden field name that saves it on the reg form is settable, and we have the settable hiddens on each form.

Lot's of confusion. I confused myself even coding it.
OK, well, I'll have to look at how you've done it before I decide if i want to install it. I'm not sure changing the way vb does the registration for the name is the way to go for me. I think it would be a little confusing to new members, but that is just me.
Reply With Quote
  #29  
Old 06-30-2008, 07:33 PM
maidos maidos is offline
 
Join Date: Jul 2006
Posts: 925
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo View Post
OK, well, I'll have to look at how you've done it before I decide if i want to install it. I'm not sure changing the way vb does the registration for the name is the way to go for me. I think it would be a little confusing to new members, but that is just me.
no, ur not alone, it would confuse other members aswell
Reply With Quote
  #30  
Old 06-30-2008, 07:44 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, change is hard. Nothing changes what so ever on the registration page. People just have to type a name on the rules page now as well as check a box.

I set out to change it on purpose.

Instead of collecting the name and using that, we could GEN and Pass some hash off I guess. But as i said, my purpose was to make things different.

The more I type, the more I like passing the HASH. I didn't want to pass it. But that is more random and gives us control better.

Ok, you win. That's a better Idea. That changes things a lot for us and not for the user at all.

Easy turnover too.
Reply With Quote
  #31  
Old 06-30-2008, 08:12 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You DO suck up rather well.

But I think no changes for the user throws them off to what is really happening behind the scenes, which is what we want to do, right?
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:34 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.12868 seconds
  • Memory Usage 2,324KB
  • Queries Executed 25 (?)
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_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (2)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • 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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete