Today Google has been introduced new reCaptcha API called Are you a robot? “No Captcha reCaptcha” a complete new design captcha system. This protects your website for spammers and robots, in this post I had implemented new reCaptch API system with HTML login form using PHP. I like the new design it is clean and impressive, hope you will like it. Please take a look quick look at the demo.

Click here to create a Google reCaptcha application.Give your website domain details without http:You will use this in HTML code.This will help your website to communication with Google.Contains simple HTML code with Google reCaptcha widget snippet. Here you have to modify the Google Site Key value.

<html>

<head>

/* Google reCaptcha JS */

<script src=" https://www.google.com/recaptcha/api.js "></script>

</head>

<body>

<form action="" method=" post ">

Username

<input type=" text " name=" username " class=" input " />

Password

<input type=" password " name=" password " class=" input " />

<div class=" g-recaptcha " data-sitekey=" Google Site Key "></div>

<input type=" submit " value=" Log In " />

<span class=' msg '> <?php echo $msg; ?> </span>

</form>

</body>

</html>

Contains PHP code, here you have to modify the Google Secret Key.

<?php

include ("db.php");

session_start ();



$msg='';

if($ _SERVER [" REQUEST_METHOD "] == " POST ")

{

$recaptcha=$ _POST [' g-recaptcha-response '];

if(! empty ($recaptcha))

{

include ("getCurlData.php");

$google_url=" https://www.google.com/recaptcha/api/siteverify ";

$secret=' Google Secret Key ';

$ip=$_SERVER[' REMOTE_ADDR '];

$url=$google_url." ?secret= ".$secret." &response= ".$recaptcha." &remoteip= ".$ip;

$res= getCurlData ($url);

$res= json_decode ($res, true);

//reCaptcha success check

if($res[' success '])

{

//Include login check code

}

else

{

$msg=" Please re-enter your reCAPTCHA .";

}



}

else

{

$msg=" Please re-enter your reCAPTCHA. ";

}



}

?>

This code will verify username and password details in database.

$username= mysqli_real_escape_string ($db,$ _POST [' username ']);

$password= md5 ( mysqli_real_escape_string ($db,$ _POST [' password ']));

if(!empty($username) && !empty($password))

{

$result= mysqli_query ($db," SELECT id FROM users WHERE username=' $username ' and passcode=' $password ' ");

$row= mysqli_fetch_array ($result, MYSQLI_ASSOC );

if( mysqli_num_rows ($result)==1)

{

$ _SESSION [' login_user ']=$username;

header ("location: home.php"); //Success redirection page.

}

else

{

$msg=" Please give valid Username or Password .";

}



}

else

{

$msg=" Please give valid Username or Password .";

}

CURL function for Google reCaptcha verification. Enableextension inconfiguration file.

<?php

function getCurlData ($url)

{

$curl = curl_init ();

curl_setopt ($curl, CURLOPT_URL , $url);

curl_setopt ($curl, CURLOPT_RETURNTRANSFER , 1);

curl_setopt ($curl, CURLOPT_TIMEOUT , 10);

curl_setopt ($curl, CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16");

$curlData = curl_exec ($curl);

curl_close ($curl);

return $curlData;

}

?>

Database configuration file, modify username, password and database values.