Google Recaptcha doğrulama

İstemci tarafında jquery validation kütüphanesini kullanıyorum.

jQuery.validator.addMethod("checkCaptcha", function() {
	 var bfr = false;
	 var phpquery = $.ajax({url: "your-url.php?action=recaptcha",
	  type: "POST",
	  async: false,
	  data:{recaptcha_challenge_field:Recaptcha.get_challenge(),recaptcha_response_field:Recaptcha.get_response()},
	  success:function(data) {
		
		var return = $('<div />').html(data).find('.return').attr("id");

		if(return == "recaptcha_false"){
		 Recaptcha.reload();
		}else{
		 bfr = true;
		}
	  }
	 });
	if(bfr){
	   return true;
	 }
},"");

$("#your-id").validate({
	rules: {
		recaptcha_response_field: {
			required: true,
			checkCaptcha: true
		},
	},
	messages: {
		recaptcha_response_field: {
			required: "Please enter the code",
			checkCaptcha: "Code is wrong, please retype it"
		},
	},
	submitHandler : function () {
		//
	}
});
switch($action){
	case "recaptcha":
	function returnResult($status, $omschrijving){
		$result = array(
				'status' => $status,
				'omschrijving' => $omschrijving
		);
		echo $result[status];
	}
		
	require_once '../recaptcha/recaptchalib.php';
		
	$privatekey = "your-key";
	$resp = recaptcha_check_answer ($privatekey,
			$_SERVER["REMOTE_ADDR"],
			$_POST["recaptcha_challenge_field"],
			$_POST["recaptcha_response_field"]);
		
	if (!$resp->is_valid) {
		$status = '<div class="return" id="recaptcha_false"></div>';
		$omschrijving = "Captcha is not correct";
		returnResult($status, $omschrijving);
	} else {
		$status = '<div class="return" id="recaptcha_true"></div>';
		$omschrijving = "Captcha is correct";
		returnResult($status, $omschrijving);
	}
	break;
}

Gönderi içerir "PHP" Görüntüleme 6809            Yayımlandı 24/02/2018

All Comments (0)
No Comments