Google Recaptcha "Are You A Robot?" Menggunakan PHP







 

Pada tutorial saya kali ini akan mencoba membuat ReCaptcha "Are You A Robot?" . Trus apasih fungsinya?. Secara umum ReCaptcha ini berfungsi sebagai proteksi spam dan robot pada website kita

Okelah..langsung saja,

Pertama dapatkan ReCaptcha Key
Klik disini untuk membuat Aplikasi Google ReCaptcha.

Kemudian register situs atau web kalian tanpa http:

Dapatkan Google Site Key:

 Dapatkan Google Secret Key:


SQL Database

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) DEFAULT NULL,
  `passcode` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `users` (`id`, `username`, `passcode`) VALUES
(1, 'guest', '084e0343a0486ff05530df6c705c8bb4');


Kode HTML
Ini adalah kode sederhana pada html yang akan kita gunakan nantinya, yang perlu kalian lakukan nanti adalah menyalin kemudian menempelkan kode, serta mengganti Google Site Key nya.

 


<html>
<head>
 <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="Masuk" />
  <span class='msg'><?php echo $msg; ?></span>
 </form>
</body>
</html> 

Pada index.php berisi kode php, disini kalian harus merubah Google Secret Key nya.
 <?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 Sukses
  if($res['success'])
  {
   //Kode login
  }
  else
  {
   $msg="Mohon isikan kembali ReCaptcha.";
  }
 }
 else
 {
  $msg="Mohon isikan kembali ReCaptcha.";
 }

}
?>

Login Kode
Kode ini akan memverifikasi username dan password.
$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"); //Berhasil meredirect. 
 }
 else
 {
  $msg="Mohon isikan username dan password dengan benar.";
 }

}
else
{
 msg="Mohon isikan username dan password dengan benar.";
}
GetCurlData.php Fungsi CURL untuk Google ReCaptcha Verification. Pastikan extensi php_curl pada php.ini telah diaktifkan.

 <?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;
}
?>
DOWNLOAD

DEMO
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 komentar:

Posting Komentar