Jump to content

Recommended Posts

Posted (edited)

Hi guys, did someone re-use how to intervene on the ReCaptcha code of the old phpvms Version 2.1.936 version?  (page contact, registration) if yes, how? thanks for a possible answer.if yes, how? thanks for a possible answer

 

00.jpg

 

 

 

Edited by gio1961
Posted
9 hours ago, youngbuckscrew said:

Gotcha! I'll have the older version installed sometime tonight or tomorrow and see how i can help others with the same issue. 

Thank you for your interest. Best regards

Posted
15 hours ago, youngbuckscrew said:

Okay this is one way of upgrading to v2 of recaptcha.

Go here https://github.com/google/recaptcha and scroll down to Direct Download (assuming you don't use composer) and download the package. Once downloaded insert it into:  core/lib/recaptcha-master

Once you have done this go to core/modules/registration/registration.php


# Replace or comment out
require_once CORE_LIB_PATH.'/recaptcha/recaptchalib.php';

# With
require_once CORE_LIB_PATH.'/recaptcha-master/src/autoload.php';

In that same file, scroll down to VerifyData


# Replace all code relating to captcha check with

  // start the error array as false, we dont have any errors yet.
  $error = false;

  // set the configurations for the service to work.
  $secret = Config::Get('RECAPTCHA_PRIVATE_KEY');
  $remoteIp = $_SERVER["REMOTE_ADDR"];
  $gRecaptchaResponse = $_POST['g-recaptcha-response'];
  $recaptcha = new \ReCaptcha\ReCaptcha($secret); 

  // Call the google service and verify the answer provided.
  $resp = $recaptcha->verify($gRecaptchaResponse, $remoteIp);

  // If Response was a success
  if ($resp->isSuccess())
  {
      // No errors; continue
      $this->set('captcha_error', '');
  } 
  else 
  {
      // Set error as true and show error on front-end
      $error = true;
      $this->set('captcha_error', true);
  }

And finally on your registration_mainform.tpl 


<div class="g-recaptcha" data-sitekey="<?php echo Config::Get('RECAPTCHA_PUBLIC_KEY'); ?>"></div>
<script type="text/javascript"
        src="https://www.google.com/recaptcha/api.js?hl=en">
</script>

<!-- Recaptcha V2 -->
<?php if($captcha_error == true)
    echo '<p class="error">Please verify you are human!</p>';
?>

you can make a function for that like v1 but that's up to you. Let me know if this helps you! 

Resolved, thanks. Best regards

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...