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
reCAPTCHA!vB Details »»
reCAPTCHA!vB
Version: 1.1.0, by magnus magnus is offline
Developer Last Online: Feb 2012 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.6.7 Rating:
Released: 07-08-2007 Last Update: 02-26-2008 Installs: 207
Uses Plugins Auto-Templates
Code Changes Additional Files  
No support by the author.

THIS MODIFICATION SHOULD NOT BE USED WITH VBULLETIN 3.7+ AS IT IS A DEFAULT FEATURE.

Keywords: reCAPTCHA, CAPTCHA, spam, register

Description:
This modification will replaced the default vBulletin registration CAPTCHA with the newer, more advanced reCAPTCHA.

What is CAPTCHA/reCAPTCHA?:
A CAPTCHA is a program that can tell whether its user is a human or a computer. You've probably seen them ? colorful images with distorted text at the bottom of Web registration forms. CAPTCHAs are used by many websites to prevent abuse from "bots," or automated programs usually written to generate spam. No computer program can read distorted text as well as humans can, so bots cannot navigate sites protected by CAPTCHAs.

About 60 million CAPTCHAs are solved by humans around the world every day. In each case, roughly ten seconds of human time are being spent. Individually, that's not a lot of time, but in aggregate these little puzzles consume more than 150,000 hours of work each day. What if we could make positive use of this human effort? reCAPTCHA does exactly that by channeling the effort spent solving CAPTCHAs online into "reading" books.

To archive human knowledge and to make information more accessible to the world, multiple projects are currently digitizing physical books that were written before the computer age. The book pages are being photographically scanned, and then, to make them searchable, transformed into text using "Optical Character Recognition" (OCR). The transformation into text is useful because scanning a book produces images, which are difficult to store on small devices, expensive to download, and cannot be searched. The problem is that OCR is not perfect.



reCAPTCHA improves the process of digitizing books by sending words that cannot be read by computers to the Web in the form of CAPTCHAs for humans to decipher. More specifically, each word that cannot be read correctly by OCR is placed on an image and used as a CAPTCHA. This is possible because most OCR programs alert you when a word cannot be read correctly.

But if a computer can't read such a CAPTCHA, how does the system know the correct answer to the puzzle? Here's how: Each new word that cannot be read correctly by OCR is given to a user in conjunction with another word for which the answer is already known. The user is then asked to read both words. If they solve the one for which the answer is known, the system assumes their answer is correct for the new one. The system then gives the new image to a number of other people to determine, with higher confidence, whether the original answer was correct.

Currently, we are helping to digitize books from the Internet Archive.

[hr]-[/hr]
Installation:
  1. Download and unzip the recaptcha101.zip archive.
  2. Upload the functions_recaptcha.php to your /includes/ directory.
  3. Import the product-recaptcha.xml via the Product Manager.
  4. Obtain a FREE public and private reCAPTCHA key here.
  5. Make any desired configuration changes via AdminCP > vBulletin Options > reCAPTCHA Options
  6. Make a backup of your register.php file, located in your forum root.
  7. Perform ONE (1) of the following methods:
    • Method A:
      • Download the register-patch.zip archive, extract, then upload the register.patch file to your forum root, then apply the patch:

        *Note: Please note that this method requires a basic understanding of UNIX shell commands and requires shell access to your host. If you do not have either of these or you are unsure how to use GNU patch, I highly suggest performing Method B instead)

        Code:
        # patch -b register.php < register.patch
        This will perform the file edits automatically. Once finished, you may delete the register.patch file.
    • Method B:
      Perform the following simple file edits:
      • IN register.php:
        1. FIND:
          PHP Code:
          eval('$imagereg = "' fetch_template('imagereg') . '";'); 
          REPLACE WITH:
          PHP Code:
          $imagereg recaptcha_get_html($vbulletin->options['recaptcha_publickey'], $error); 
        2. FIND AND REMOVE:
          PHP Code:
                          'imagestamp'          => TYPE_STR,
                          
          'imagehash'           => TYPE_STR
        3. FIND:
          PHP Code:
                  // Check Reg Image
                  
          if ($vbulletin->options['regimagecheck'] AND $vbulletin->options['regimagetype'])
                  {
                          require_once(
          DIR '/includes/functions_regimage.php');
                          if (!
          verify_regimage_hash($vbulletin->GPC['imagehash'], $vbulletin->GPC['imagestamp']))
                          {
                                  
          $userdata->error('register_imagecheck');
                          }
                  } 
          REPLACE WITH:
          PHP Code:
                  // Check Reg Image
                  
          if ($vbulletin->options['regimagecheck'] AND $vbulletin->options['regimagetype'])
                  {
                          
          $resp recaptcha_check_answer ($vbulletin->options['recaptcha_privatekey'],
                                                          
          $_SERVER["REMOTE_ADDR"],
                                                          
          $_POST["recaptcha_challenge_field"],
                                                          
          $_POST["recaptcha_response_field"]);

                          if (!
          $resp->is_valid)
                          {
                                  
          $userdata->error('register_imagecheck');
                          }
                  } 

NOTE: YOU MAY ALSO REPLACE THE CAPTCHA DISPLAYED TO GUESTS WHEN USING THE "CONTACT US" FORM BY FOLLOWING THE INSTRUCTIONS HERE.

[hr]-[/hr]
Tips, tricks and modifications:
[hr]-[/hr]
Comments:
As with all my hacks, this modification is provided free of charge. However, if you find this product useful and have money burning a hole in your pocket, feel free to make a small donation, I won't mind.. really.

Version History:
  • 1.0.0 - Initial release, here's to hoping...
  • 1.0.1 - Woops! Forgot to include a aesthetic template edit in the original release. All is well, simply redownload and overwrite the XML. That's it!
  • 1.1.0 - Added alternate language support. Now various reCAPTCHA tags and text will be displayed in your selected language. Also added a fieldset to the automatic template edits around the display block for a more uniform look (thanks DOCTOR DAN!).

Currently Known Bugs:
  • None

* Please note that this modification was developed on a forum with a userbase of 1 (myself). I've tested it for basic functionality but I cannot guarantee functionality or behavior on your forum. So, please -- make backups before installing this product!

Show Your Support

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

Comments
  #162  
Old 06-03-2009, 12:42 AM
sheep92032 sheep92032 is offline
 
Join Date: May 2008
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

3.8.2
Reply With Quote
  #163  
Old 06-03-2009, 07:56 AM
Zachery's Avatar
Zachery Zachery is offline
 
Join Date: Jul 2002
Location: Ontario, Canada
Posts: 11,440
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sheep92032 View Post
3.8.2
Post on vBulletin.com for support then, I promise you its there.
Reply With Quote
  #164  
Old 06-05-2009, 10:44 AM
adiboy.net adiboy.net is offline
 
Join Date: Nov 2005
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

does this work with 3.8.2?
Reply With Quote
  #165  
Old 06-06-2009, 09:57 PM
mdawg's Avatar
mdawg mdawg is offline
 
Join Date: Mar 2009
Location: United States
Posts: 363
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

3.8.2 already has the reCaptcha option standard. Read your vbulletin manual for details.

OKAY - well I just switched from standard image verification to reCAPTCHA. Let's see if that makes a difference.

I've been getting a moderate amount of SPAM - maybe one post a day or so, and we ban the user, ban the IP address, and report the details to
http://www.stopforumspam.com/add
to help others.

Another thing I just modified is that I made it so that even usergroups "Users Awaiting Email Confirmation" and "(COPPA) Users Awaiting Moderation" must "Require Human Verification on Configured Actions," not just "Unregistered / Not Logged In." Maybe this will help.
Reply With Quote
  #166  
Old 06-07-2009, 10:21 AM
sheep92032 sheep92032 is offline
 
Join Date: May 2008
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I also make users post 20 posts before they can post links. After installing reCaptcha i turned the protection off. Within an hour we had 40 posts of spam. I'm guessing the spammers are paying people in some third world country to manually spam.
Reply With Quote
  #167  
Old 08-21-2009, 08:00 PM
MRGTB MRGTB is offline
 
Join Date: Dec 2004
Posts: 548
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does this work OK with the last version of vBulletin 3.6.12
Reply With Quote
  #168  
Old 08-23-2009, 02:24 PM
MRGTB MRGTB is offline
 
Join Date: Dec 2004
Posts: 548
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great hack Magnus, thanks very much. Had forum on-line one week and been getting murdered by spam. Hopefully this will help much more. Seems to work fine with vB 3.6.12

I have a question though, is it possible to install this to not replace the default vBulletin image verification system, but instead to run alongside it as the main image captcha, or as a second image captcha with the default vBulletin verification image system if you enable it for registration. Meaning you can have both displayed if you required image verification in vBulletin 3.6 during registration in the settings. And if you don't, just this is displayed instead.
Reply With Quote
  #169  
Old 10-21-2009, 08:08 AM
gr8dude gr8dude is offline
 
Join Date: Sep 2005
Location: Moldova
Posts: 12
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've just installed this plugin on my 3.6.0 installation of VBulletin, everything went smooth except that when I try to register I see this error:

Quote:
Call to undefined function recaptcha_get_html() in register.php line 864
I fixed the problem by doing the following
  1. Made sure the access conditions for the newly uploaded or modified PHP files were set to the same ones as the other PHP files in the same dir (in my case this was 775)
  2. Added the following line to register.php
    Code:
    require_once(DIR . '/includes/functions_recaptcha.php');

This was not in the installations steps described in the beginning, I figured it should work if I add the include manually. It works fine on my end. Thanks for offering this plugin.


I have a question: are there instructions on which modifications to apply to make reCaptcha show up when an anonymous user posts a message? I can try to derive them by studying the original example, but perhaps someone has already gone through this procedure?
Reply With Quote
  #170  
Old 10-24-2009, 04:36 AM
TheWhite TheWhite is offline
 
Join Date: Nov 2006
Posts: 147
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Doctor Dan View Post
A quick mod if you want to restore the "image verification" frame around the reCAPTCHA panel, just like how vBulletin's standard CAPTCHA panel appears:

In the template register find:

Code:
$imagereg

and replace it with:

Code:
<fieldset class="fieldset">
	<legend> $vbphrase[image_verification] </legend>
	$imagereg
</fieldset>

You can also center the reCAPTCHA panel within the frame by adding a "<center>" tag:

Code:
<fieldset class="fieldset">
	<legend> $vbphrase[image_verification] </legend>
	<center> $imagereg </center>
</fieldset>

- Dan
i can't get this working can someone post the before and after? regards
Reply With Quote
  #171  
Old 11-22-2009, 01:00 PM
GTX2 GTX2 is offline
 
Join Date: May 2006
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

did everything as described but can't see nothing different in register.php page...
using vb 3.6.4
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 02: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.05921 seconds
  • Memory Usage 2,347KB
  • 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_php
  • (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
  • (1)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