Sandbox keys for localhost testing (will always return true):
- Site key: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
- Secret key: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
Alternative you can use **localhost** or **127.0.0.1** and create reCAPTCHA for localhost development
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<!-- Place visible checkbox on your website -->
<div class="g-recaptcha" data-sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI"></div>// grecaptcha.getResponse() will contain the token which has to be sent to the google recaptcha for verify
if( grecaptcha.getResponse().length == 0 ) {
alert("Please complete the I'm-not-a-robot widget before submitting your entry.");
return;
}//download extension like modheader and then change user agent to
Googlebot/2.1grecaptcha.reset();<!-- method 1# data-size="compact" -->
<div class="g-recaptcha" data-size="compact"></div>/* method 2 */
.g-recaptcha{
transform:scale(0.77);
transform-origin:0 0;
}/* method 3 */
/*
We create a container around the default .g-recaptcha div and then set the witdh where we later re-scale the iframe with scale
.g-recaptcha-wrap{
width:15vmax;
}
*/
function scaleCaptcha() {
console.log( 'captchaScale();' );
let reCaptchaWidth = 300;
let containerWidth = $('.g-recaptcha-wrap').width();
let captchaScale = containerWidth / reCaptchaWidth;
captchaScale = Math.round(captchaScale * 100) / 100;
console.log( 'captchaScale: ' + captchaScale + '\ncontainerWidth: ' + containerWidth );
$('.g-recaptcha').css( 'transform', 'scale('+captchaScale+')' )
.css( '-webkit-transform', 'scale('+captchaScale+')' )
.css( '-moz-transform', 'scale('+captchaScale+')' )
.css( '-ms-transform', 'scale('+captchaScale+')' )
.css( '-o-transform', 'scale('+captchaScale+')' );
}
scaleCaptcha();
$(window).resize( scaleCaptcha );$url = "https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR'];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($curl);
//echo "request data: ".$json."\n\n";
/*
if(curl_errno($curl)){
echo 'Curl error: ' . curl_error($curl);
}
*/
$json = json_decode($json);
if(!empty($json)) {
//echo $json['success'];
$success = $json->success;
//echo "success: ".$success."\n\n";
if( $success == 1 ){
echo true;
} else{
echo false;
}
} else {
echo "json empty";
}
curl_close($curl);
exit;