Tweet, Share & Like [ EnAcCiOn ]

 

FeedBurner FeedCount Y Facebook | EnAcCiOn

Send Voicemail | EnAcCiOn

Contact me using vCita | EnAcCiOn

Contact me using vCita | EnAcCiOn

Meeting Scheduler Powered by vCita

lunes, 13 de julio de 2015

Recaptcha V2 hopefully made simple. Both HTML and PHP code included here

I had been using ReCaptcha V1 for a number of years with no real problem. Figuring out how the heck to get V2 running became a nightmare. As much as anyone would like to think it's well documented, IT'S NOT unless you happen to be a master coder. These days I scrape by on coding, so having a very clear, simple and straight forward example would be wonderful. I found a lot of examples of people using Curl and other fun ways to implement this. All of those examples ended up with the stupid recaptcha always being SUCCESS : FALSE and I still don't understand why. Anyway, I do now having it working and hopefully someone can benefit from these short example files I'm attaching. I certainly don't claim to be a great coder, but this actually does work consistently.I happen to use sessions in my forms but code still works the same with or without session enabled.Here's the HTML (again, if you don't want sessions, eliminate the PHP line at the top and call your file cap_test.html). I got this code from codeforgeek so I definitely thank them so much!!CAP_TEST.PHP                 

Google reCAPTHA V2 Demo

   
     

     

      
          
 CAP_PROCESS.PHPPlease check the the captcha form.';              exit;           }// This gets the response and checks it for being true. If it is it prints thanks for posting the comment and exits.       $response = file_get_contents("http://bit.ly/1eXekEZ".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);if($response.'success'==true)   {  echo '

Thanks for posting comment.

';   }?>So this is fun for testing. In my real form, I don't really care whether they tried to bypass the captcha or if it failed for some reason, I'm still going to make them try again, so this is a small bit of the actual code I use in my PHP processing script:// Set errorflag variable to false so we'll assume this will run with no errors$_SESSION["errorflag"] = "false";// Now go check if the recaptcha was entered correctly// If $_POST['g-recaptcha-response'] is not set, that means the user hit submit without completing the recapcha and we'll send it backif(isset($_POST['g-recaptcha-response'])){ $captcha=$_POST['g-recaptcha-response']; }// So if $captcha was set, lets go see if it was successfull by getting the response and putting the answer into $responseif($captcha){$response=file_get_contents("http://bit.ly/1eXekEZ".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);}// So now if either the $captcha was not set OR we did not get a success from recaptcha// we'll set the error flag to indicate that recaptcha was bad// and load the sanitized form data into session variables and go on back to the formif ((!$captcha) or ($response."success"==false)) {    $_SESSION["applocation"] = $applocation;    $_SESSION["firstname"] = $firstname; -- You received this message because you are subscribed to the Google Groups "reCAPTCHA" group. To unsubscribe from this group and stop receiving emails from it, send an email to recaptcha+unsubscribe@googlegroups.com. To post to this group, send email to recaptcha@googlegroups.com. Visit this group at http://bit.ly/1dkFnYd. For more options, visit http://bit.ly/P65DvS.

No hay comentarios:

EnAcCiOn

Contador Web | EnAcCiOn

EnAcCiOn

EnAcCiOn

EnAcCiOn

Blog Archive | EnAcCiOn