
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; } ?>
DEMO
0 komentar:
Posting Komentar