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
  #52  
Old 09-17-2006, 11:42 PM
HondaATC HondaATC is offline
 
Join Date: May 2004
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyway to make this work on 3.5.4?
Reply With Quote
  #53  
Old 09-17-2006, 11:59 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Flip to page three of this thread, download the product XML attached to post #36 and then make the template edit as dartho instructs a couple of posts below.
Reply With Quote
  #54  
Old 09-18-2006, 12:28 AM
HondaATC HondaATC is offline
 
Join Date: May 2004
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by dartho
There in may lay the problem - there is no "$imagereg" See template code below:

I added in a $nospamfield just above this, and it all came togther - thanks!

Code:
			<if condition="$show['regimagecheck']">
			<fieldset class="fieldset">
				<legend>$vbphrase[image_verification]</legend>
				<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
				<tr>
					<td>
						$vbphrase[enter_text_image_right]
					</td>
					<td rowspan="2"><img src="image.php?$session[sessionurl]type=regcheck&amp;imagehash=$imagehash" alt="$vbphrase[registration_image]" width="201" height="61" border="0" /></td>
				</tr>
				<tr>
					<td><input type="text" class="bginput" name="imagestamp" size="50" maxlength="6" /><input type="hidden" name="imagehash" value="$imagehash" /></td>
				</tr>
				</table>
			</fieldset>
			</if>

Which template do I need to edit this into? Sorry, didn't see the name of it specified on page 3. Thanks
Reply With Quote
  #55  
Old 09-18-2006, 02:05 AM
pr0team.net pr0team.net is offline
 
Join Date: Apr 2006
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

easy for spambots
it's not alternative to captcha this is 100 % better than captcha for spambots trust me.
Reply With Quote
  #56  
Old 09-18-2006, 04:43 AM
SpanishHarlem SpanishHarlem is offline
 
Join Date: Feb 2005
Location: Ontario, Canada
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank's for this. I really hope it help's keep the spammers out
Reply With Quote
  #57  
Old 09-18-2006, 03:25 PM
moonclamp's Avatar
moonclamp moonclamp is offline
 
Join Date: May 2004
Location: London
Posts: 516
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is it possible for someone to input the answer via a checkbox or radio button? If someone has a selection they'll be less likely to make spelling mistakes.

Also, could this easily be added to the bit where a member verifies there age, before they even agree to the rules?

Does this work on the guests contact form and search pages?
Reply With Quote
  #58  
Old 09-18-2006, 05:43 PM
remasnet's Avatar
remasnet remasnet is offline
 
Join Date: Jun 2006
Location: KSA
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great idea I will install it
Thnx
Reply With Quote
  #59  
Old 09-18-2006, 11:07 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by HondaATC
Which template do I need to edit this into? Sorry, didn't see the name of it specified on page 3. Thanks
It's the register template.

Quote:
Originally Posted by moonclamp
Is it possible for someone to input the answer via a checkbox or radio button? If someone has a selection they'll be less likely to make spelling mistakes.

Also, could this easily be added to the bit where a member verifies there age, before they even agree to the rules?

Does this work on the guests contact form and search pages?
Hmm, I'd have to mess around a little for all of those. I'll look into it.
Reply With Quote
  #60  
Old 09-20-2006, 07:59 AM
adwade adwade is offline
 
Join Date: Aug 2006
Location: SouthEast, TN
Posts: 323
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was wondering if this MOD could be used another place in vBulletin besides just the registeration process? Namely,

-------------------------------------------------------------------------
Ref: Tipem's comment...
Surprisingly enough, I've tried this and it's worked (not involving verification images or captcha).

On your web form, have a "verify" input text box. Above that say: "Enter in 'V f r 4 R $' without spaces or quotes in the text box below" (and the verification code can be static).

And whaddya know -- no spam from email web forms. Eventually spam bots might figure this out, but it can be a quick fix. To make it even more difficult, you could say "Enter in 'V-4-R-$-s' with no spaces, quotes, or dashes in the text box below." Because a spam bot isn't human, they cannot comprehend this. It's all about fooling bots. The key is not to do it a methodical way, not a hidden or "tricky" way -- just an "odd" way that only humans can comprehend.

Simple.
taken from http://www.sitepoint.com/forums/showthread.php?t=417095
-------------------------------------------------------------------------

Upon reading that, I wondered if this MOD could be used on the 'contact us' form as well as the new user registeration perhaps? If so, where would one add the code in vBulletin to do so?

GREAT MOD by the way, one of my favorites!
Reply With Quote
  #61  
Old 09-20-2006, 10:45 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, as a quick non-tested solution for now to add it to the contact us form:

1. Edit the "Cache the NoSpam! template" plugin to say:

Code:
if (THIS_SCRIPT == 'register' OR THIS_SCRIPT == 'sendmessage')
{
   $globaltemplates[] = 'nospam';
}
2. Copy the entire text of the "Check if NoSpam! question has been answered correctly" into another plugin located at the sendmessage_docontactus_start hook

3. Make a new plugin on the sendmessage_contactus_start hook with the following code:

Code:
if ($vbulletin->options['nospam_onoff'])
{
   $vbulletin->templatecache['contactus'] = str_replace('$imagereg', '$nospamfield\n\n$imagereg', $vbulletin->templatecache['contactus']);
   $questions = explode("\n", $vbulletin->options['nospam_questions']);
   $nospamnumber = array_rand($questions);
   $qanda = explode(":",$questions["$nospamnumber"]);
   $nospamquestion = $qanda[0];

   eval('$nospamfield = "' . fetch_template('nospam') . '";');
}
And that should be it. Again, note that it's not tested.
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 12:36 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.07569 seconds
  • Memory Usage 2,325KB
  • 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
  • (3)bbcode_code
  • (3)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
  • (2)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