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

Reply
 
Thread Tools
NoSpam! - an alternative to CAPTCHA images Details »»
NoSpam! - an alternative to CAPTCHA images
Version: 3.0, by antialiasis antialiasis is offline
Developer Last Online: Nov 2013 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.6.x Rating:
Released: 08-23-2006 Last Update: 06-22-2008 Installs: 1568
Uses Plugins Auto-Templates
 
No support by the author.

This hack is for vBulletin 3.6.x. For 3.5.x, please use the one provided in this thread. If you are using 3.7.x, you must use the one in this thread.

This simple hack is meant as a replacement for the default CAPTCHA system in vBulletin. There are two main reasons one might want to do this: firstly, new technology is constantly being developed to crack CAPTCHA images and make spam accounts anyway, and secondly, the more secure the CAPTCHA, the more difficult it is for genuine users to tell what the numbers in the image are. There is also the issue of visually impaired users, and the fact that not all servers are capable of generating CAPTCHA images.

So what does this hack do instead? It asks a question. Any question you want. That's the best part: YOU make up the questions, which means that every forum is unique, which means that it is impossible for spambots to be simply programmed to bypass it at all forums with the hack installed. You can make one or many questions - if you make many, the hack will pick one at random when a guest attempts to register, search, post or send mail through the Contact Us form. Their input is compared with your specified answer, and voil?, if they get it right they're pretty much guaranteed to be human. If they get it wrong, they're given an error message.

It doesn't have to be a complicated question. Heck, you can just make it "Please type 'blah' into this box." Or you can go with inserting a simple image with HTML and ask what is shown on the image. Or you can ask them to tell you two plus two. It's up to you. In fact, this can also be used as a means of forcing people to read the rules by asking for a certain password found there, or if your forum focuses on a specialized subject, ask a question concerning the subject that all your genuine users will be able to answer, but a random troll or "CAPTCHA-sweatshop-reader" will be scratching their head over.

It's simple to install, too: just one product to import, and that's it.


VERSION HISTORY:

3.0: Added functionality to allow users to specify which pages should use NoSpam!.
2.0: Extended the NoSpam! functionality to guest posts, guest searches and guest "Contact Us" in addition to registration.
1.1: Made template edit automatic (with thanks to Cole2026), added ability to have more than one answer to each question, and made answers case insensitive. To upgrade, I recommend undoing the template edit so you won't have to worry about it anymore (replace $nospamfield in the template register with $imagereg, or if you added $nospamfield above $imagereg, just remove $nospamfield altogether), and then reimport the product through the Admin CP (making sure that Allow Overwrite is set to On).
1.0: Initial release.


INSTALLATION:

Please download NoSpam!.zip, not product-nospam.xml, for the tested version. product.nospam.xml is NoSpam! 4.0 adapted blindly to 3.6, i.e. by editing the XML file for the 3.7 version without actually testing it on a 3.6 board. Theoretically it should work, but I cannot guarantee it at this time. If you download NoSpam!.zip and unzip it, it will contain another file called product.nospam.xml, which you should use.

1. Import product-nospam.xml through the Admin CP product manager.
2. Go to your vBulletin options in the Admin CP and select NoSpam! Settings. Once there, turn the system on and input your questions and answers according to the instructions there.

The system should now be functional and running.


UNINSTALLATION:

Just uninstall the product through the Admin CP.


SUPPORT:

Full support will be given here in this thread. All suggestions are welcome.

Thank you and please click "Mark as Installed" if you like it.


If NoSpam! is not working for you or you are looking for something a little different, you might want to check out Advanced Textual Confirmation.

Show Your Support

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

Comments
  #242  
Old 01-16-2007, 06:25 PM
phill2003 phill2003 is offline
 
Join Date: Apr 2003
Posts: 217
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by antialiasis View Post
There is a solution for this in the 3.5 thread, which at a glance I can't see why wouldn't work just fine for 3.6 too (assuming the quickregister template is about the same). Ask if there's a problem, though.

The box for the answer shows up but the question doesnt lol its a tad hard to get it right then
Reply With Quote
  #243  
Old 01-17-2007, 05:49 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm.

This is rather funny because as far as I can see, the variable is set...

Does the Quick Register form show on the normal registration page? If so, does the NoSpam! question appear in it there? If not, does it appear on the search page for guests or the guest post page?
Reply With Quote
  #244  
Old 01-17-2007, 06:49 PM
phill2003 phill2003 is offline
 
Join Date: Apr 2003
Posts: 217
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by antialiasis View Post
Hmm.

This is rather funny because as far as I can see, the variable is set...

Does the Quick Register form show on the normal registration page? If so, does the NoSpam! question appear in it there? If not, does it appear on the search page for guests or the guest post page?

The question appears as it should on the registration page but nowhere else
Reply With Quote
  #245  
Old 01-17-2007, 07:06 PM
thuffner's Avatar
thuffner thuffner is offline
 
Join Date: Mar 2003
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have been having a huge problem with spam lately and came across this hack.

Nevertheless, spam no more!

Amazing hack, worked like a charm. Well done!
Reply With Quote
  #246  
Old 01-17-2007, 09:31 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by phill2003 View Post
The question appears as it should on the registration page but nowhere else
Hmm...

Okay, can you give me the full text of that plugin? "Generate NoSpam! question" on the hook global_start?
Reply With Quote
  #247  
Old 01-19-2007, 11:55 AM
Ordovicium's Avatar
Ordovicium Ordovicium is offline
 
Join Date: Oct 2001
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by antialiasis View Post
So the NoSpam! question is not actually appearing on the search page?

This is the one most vulnerable to template edits, so something going wrong with it is not too unlikely. If it's not appearing, you might want to make the automatic template edit manually:

FIND

Code:
        <if condition="$imagereg">
REPLACE it with

Code:
        <if condition="$imagereg OR $vbulletin->options['nospam_onoff']">
Then FIND

Code:
            <td align="$stylevar[left]" valign="top" colspan="2">$imagereg</td>
REPLACE it with

Code:
            <td align="$stylevar[left]" valign="top" colspan="2">$nospamfield

$imagereg</td>
I can't find the template for these changes.
Reply With Quote
  #248  
Old 01-19-2007, 12:50 PM
sportsoutlaw sportsoutlaw is offline
 
Join Date: Nov 2004
Location: Texas
Posts: 159
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Have had this installed for almost a week now, and it seems to have completely eliminated my bot spam. (Which was about 5-8 registrations and posts per day)

Great Job!
Reply With Quote
  #249  
Old 01-19-2007, 01:29 PM
phill2003 phill2003 is offline
 
Join Date: Apr 2003
Posts: 217
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by antialiasis View Post
Hmm...

Okay, can you give me the full text of that plugin? "Generate NoSpam! question" on the hook global_start?
here it is.

Code:
if ($vbulletin->options['nospam_onoff'] AND !$vbulletin->userinfo['userid'])
{
   $nospamdo = true;
   switch (THIS_SCRIPT) {
      case 'register':
         $thetemplate =& $vbulletin->templatecache['register'];
         break;
      case 'sendmessage':
         $thetemplate =& $vbulletin->templatecache['contactus'];
         break;
      case 'search':
         $vbulletin->templatecache['search_forums'] = str_replace(array('$imagereg</td>', '($imagereg)'), array('$nospamfield\n\n$imagereg</td>', '($imagereg OR $vbulletin->options[\'nospam_onoff\'])'), $vbulletin->templatecache['search_forums']);
         break;
      case 'newreply':
         $thetemplate =& $vbulletin->templatecache['newreply'];
         break;
      case 'newthread':
         $thetemplate =& $vbulletin->templatecache['newthread'];
         break;
      default:
         $nospamdo = false;
   }

   if ($thetemplate)
   {
      $thetemplate = str_replace('$imagereg', '$nospamfield\n\n$imagereg', $thetemplate);
   }

   
      $questions = explode("\n", $vbulletin->options['nospam_questions']);
      $nospamnumber = array_rand($questions);
      $qanda = explode(":",$questions["$nospamnumber"]);
      $nospamquestion = $qanda[0];
if ($nospamdo) {
      eval('$nospamfield = "' . fetch_template('nospam') . '";');
   }
}
as you can see i have done the edit you stated was needed to get the nospam into the quick register template but from what i can see it is as it should be otherwise.
Reply With Quote
  #250  
Old 01-19-2007, 04:24 PM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would recommend creating separate options fields for questions and answers. Each field could still separate questions and answers by line breaks, but now you could allow colons to be used in at least the questions. To allow them in answers, I would recommend using a string to separate answers instead of just a colon - maybe :|: since it is even more unlikely someone would want that in their answers.
Reply With Quote
  #251  
Old 01-19-2007, 04:39 PM
mamedo73 mamedo73 is offline
 
Join Date: Jan 2007
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks my friend.
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:06 AM.


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.05455 seconds
  • Memory Usage 2,330KB
  • 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
  • (5)bbcode_code
  • (5)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
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (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
  • 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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete