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
  #322  
Old 02-09-2007, 12:11 PM
jdebler jdebler is offline
 
Join Date: Sep 2002
Location: Detroit
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Eagle Creek View Post
I think I like it BUT:

Isn't this the same as the CAPTCHA then???
I have seen it where there are actual simple objects that need to be identified.

Duck, Apple, House, Boat, etc...

I have seen a few instances of moving to that method.
Reply With Quote
  #323  
Old 02-09-2007, 03:44 PM
HeloHi's Avatar
HeloHi HeloHi is offline
 
Join Date: Feb 2005
Posts: 42
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I love this hack. I just recently starting having a problem with spam accounts being made, hope this stops it. Thanks
Reply With Quote
  #324  
Old 02-09-2007, 05:24 PM
littlematts littlematts is offline
 
Join Date: Jan 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First of all let me thank you antialiasis for your great mod you provided.

I installed your mod on my vbull forum vBulletin? v3.6.4 and it is working perfect with the registration page..

but the issue i face is with integration.. I am not able to integrate the same with Quick Register Ver: 1.6.3 installed along. The question itself is not showing up. I have tried updating the script as specified by you in integration details page but to no avail.

I am adding the modified page here.. I will be lot thankful if you could take some time to look if it is right way i have done it.. or suggest me a remedy to help me out of this delemma.

"Generate NoSpam! question" on global_start modified to:
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:
         if ($vbulletin->options['nospam_use_reg'] AND $vbulletin->options['quickregister_active']) {
            $questions = explode("\n", $vbulletin->options['nospam_questions']);
            $nospamnumber = array_rand($questions);
            $qanda = explode(":",$questions["$nospamnumber"]);
            $nospamquestion = $qanda[0];
         }
         $nospamdo = false;
   }

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

   if ($nospamdo) {
      $questions = explode("\n", $vbulletin->options['nospam_questions']);
      $nospamnumber = array_rand($questions);
      $qanda = explode(":",$questions["$nospamnumber"]);
      $nospamquestion = $qanda[0];

      eval('$nospamfield = "' . fetch_template('nospam') . '";');
   }
}
and edited quick_register template is:
Code:
<if condition="$vboptions['quickregister_active'] AND $show['guest']">
<!-- Start Quick Register --><table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">
<thead>
<tr>
<td class="tcat" colspan="6"><div align="center"><b>$vbphrase[quickregister_quickregister]</b></div></td>
</tr>
<tr>
<td class="alt1" colspan="6"> <div align="center">
<span class="smallfont"><script type="text/javascript" src="$vboptions[bburl]/clientscript/vbulletin_md5.js"></script>
<script type="text/javascript">
function verify_passwords(password1, password2)
{
// do various checks, this will save people noticing mistakes on next page
if (password1.value == '' || password2.value == '')
{
alert('Fill out both password fields');
return false;
}
else if (password1.value != password2.value)
{
alert('Entered passwords do not match');
return false;
}
else
{
md5hash(password1, document.forms.register.password_md5);
md5hash(password2, document.forms.register.passwordconfirm_md5);
return true;
}
return false;
}
</script>
<form action="$vboptions[bburl]/register.php" name="register" method="post" onsubmit="return verify_passwords(password, passwordconfirm);">
<input type="hidden" name="s" value="" />
<input type="hidden" name="do" value="addmember" />
<input type="hidden" name="url" value="$url" />
<input type="hidden" name="agree" value="" />
<input type="hidden" name="password_md5" />
<input type="hidden" name="passwordconfirm_md5" />
	 <if condition="$vboptions['quickregister_welcomemsg']">
     $vboptions[quickregister_welcomemsgtext]<br><br>
	 </if>
     $vbphrase[quickregister_username]
     <input type="text" class="bginput" name="username" maxlength="15" value="" style="width:70px" />
     $vbphrase[quickregister_password]
     <input type="password" class="bginput" name="password" maxlength="15" value="" style="width:70px" />
     $vbphrase[quickregister_confirmpassword]
     <input type="password" class="bginput" name="passwordconfirm" maxlength="15" value="" style="width:70px" />
     $vbphrase[quickregister_email]
     <input type="text" class="bginput" name="email" maxlength="50" value="" style="width:70px" />
     $vbphrase[quickregister_confirmemail]
     <input type="text" class="bginput" name="emailconfirm" maxlength="50" value="" style="width:70px" /><br>
	 <if condition="$vboptions['quickregister_dob']">
	 $vbphrase[quickregister_birthday]
	 <select name="month" id="bd_month"style="width:70px" />
								<option value="-1">$vbphrase[quickregister_bdmonth]</option>
								<option value="01">January</option>
								<option value="02">February</option>
								<option value="03">March</option>
								<option value="04">April</option>
								<option value="05">May</option>
								<option value="06">June</option>
								<option value="07">July</option>
								<option value="08">August</option>
								<option value="09">September</option>
								<option value="10">October</option>
								<option value="11">November</option>
								<option value="12">December</option>
							</select> &nbsp;
<select name="day" id="bd_day"style="width:70px" />
								<option value="-1" >$vbphrase[quickregister_bdday]</option>
								<option value="01" >1</option>
								<option value="02" >2</option>
								<option value="03" >3</option>
								<option value="04" >4</option>
								<option value="05" >5</option>
								<option value="06" >6</option>
								<option value="07" >7</option>
								<option value="08" >8</option>
								<option value="09" >9</option>
								<option value="10" >10</option>
								<option value="11" >11</option>
								<option value="12" >12</option>
								<option value="13" >13</option>
								<option value="14" >14</option>
								<option value="15" >15</option>
								<option value="16" >16</option>
								<option value="17" >17</option>
								<option value="18" >18</option>
								<option value="19" >19</option>
								<option value="20" >20</option>
								<option value="21" >21</option>
								<option value="22" >22</option>
								<option value="23" >23</option>
								<option value="24" >24</option>
								<option value="25" >25</option>
								<option value="26" >26</option>
								<option value="27" >27</option>
								<option value="28" >28</option>
								<option value="29" >29</option>
								<option value="30" >30</option>
								<option value="31" >31</option>
							</select> &nbsp;
<input type="text" class="bginput" name="year" onFocus="value=''" value="$vbphrase[quickregister_bdyear]" size="4" maxlength="4" id="bd_year" style="width:50px" /></if>
  <if condition="$vboptions['quickregister_imgver'] AND $vboptions['regimagecheck']">
  &nbsp;<input type="text" class="bginput" name="imagestamp" size="16" onFocus="value=''" value="$vbphrase[quickregister_imagever]" maxlength="6" title="$vbphrase[quickregister_imageverhov]" />
      <input type="hidden" name="imagehash" value="$imagehash" />
    <img src="image.php?$session[sessionurl]type=regcheck&amp;imagehash=$imagehash" alt="$vbphrase[registration_image]" width="100" height="30" border="0" />
  </if>
<if condition="$vbulletin->options['nospam_onoff'] AND $vbulletin->options['nospam_use_reg']">
    <br />$nospamquestion <input type="text" class="bginput" name="nospam" value="Answer here" onFocus="value=''" size="20" /> <input type="hidden" name="nospamnumber" value="$nospamnumber" />
  </if>

<input type="submit" class="button" value="$vbphrase[quickregister_submit]" accesskey="s" /><input name="agree" id="cb_rules_agree" value="1" type="checkbox"><strong>$vbphrase[quickregister_agree] <a href="$vboptions[bburl]/register.php?" target="_blank">$vbphrase[quickregister_forumrules]</a></strong>&nbsp;

     </span></form>
        </div></td>
</tr>
</thead>
</table><br></if>
<!-- End Quick Register --></if>
i have disabled captcha image in vbull options.

buddy do you have any idea where i went wrong.. coz the quick register dsnt show the integrated no-spam question or the answer box in the page...which i feel mandatory to keep spammers away..

hopefully waiting for your words of help..

regards
Matthew
Reply With Quote
  #325  
Old 02-09-2007, 05:45 PM
rjmjr69's Avatar
rjmjr69 rjmjr69 is offline
 
Join Date: Jan 2007
Location: Southie
Posts: 876
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I dont see anywhere in the options to set it to specific pages?
Reply With Quote
  #326  
Old 02-09-2007, 11:27 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

littlematts: Hmm, the answer box isn't showing up either, you say? Then something must be wrong with the template edit you made. Did you definitely make it in all the styles? And did you definitely turn NoSpam! on and set it to being displayed at registration?

rjmjr69: It's the bottom four options on the NoSpam! settings in the vBulletin settings - whether to show it at registration, whether to show it for guest searches, whether to show it for Contact Us and whether to show it for guest posts.
Reply With Quote
  #327  
Old 02-10-2007, 12:06 PM
CP, CP, is offline
 
Join Date: Aug 2005
Location: UK London
Posts: 276
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok i just want this to be enabled on the registration page, not when each user wants to make a post.. how can i do this? cheers!
Reply With Quote
  #328  
Old 02-10-2007, 01:23 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Make sure you have the newest version (3.0). Then go to vBulletin Settings in the Admin CP and find NoSpam! settings. There the bottom four options allow you to enable or disable NoSpam! on registrations, guest posts, Contact Us and guest searches.
Reply With Quote
  #329  
Old 02-10-2007, 09:28 PM
littlematts littlematts is offline
 
Join Date: Jan 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by antialiasis View Post
littlematts: Hmm, the answer box isn't showing up either, you say? Then something must be wrong with the template edit you made. Did you definitely make it in all the styles? And did you definitely turn NoSpam! on and set it to being displayed at registration?

rjmjr69: It's the bottom four options on the NoSpam! settings in the vBulletin settings - whether to show it at registration, whether to show it for guest searches, whether to show it for Contact Us and whether to show it for guest posts.
.. yups dude.. even the answer box is not showing up.. i added the exact code above the specified submit post code.

Have rechecked to make sure it is made for all styles << Done; it is

Turn on NoSpam << Yups dude, and it is working best for registration page

Set it to being displayed in registration << EEps.. unfortunately i am not able to find this option in vbulletin options menu for NoSpam settings.. but it is working fine as said for main registration page..

.. but still the problem persist.. the NoSpam not integrating with my "Quick registration" mod..

i will be lot thankful if u could look into my modified code when u have some time to spare..

thanks lots for taking your time to read and reply for my query dude.. keep rocking

regards
littlematts
Reply With Quote
  #330  
Old 02-10-2007, 10:16 PM
antialiasis's Avatar
antialiasis antialiasis is offline
 
Join Date: Jan 2006
Location: Iceland
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm, that's odd.

Try removing the if tags from what you added into the quickregister template.
Reply With Quote
  #331  
Old 02-11-2007, 01:40 AM
blogtorank's Avatar
blogtorank blogtorank is offline
 
Join Date: Jan 2006
Posts: 450
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thought I would share some of my fast but effective ready to go Spam preventions sayings where you have to add the

Quote:
Please type "" into the following box.:
So here is my .txt file with 150 of these ready to go so all you would have to do is just simply copy / paste these to your AdminCP area for this under Options

Enjoy! If the coder doesn't like it I'll take it down. However I thought this would help others out to have a few (150) more ready to go!


Edited:

BTW thanks coder for the 3.0!
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 05:54 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.04998 seconds
  • Memory Usage 2,346KB
  • 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_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
  • (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