Captcha merupakan suatu kode / sandi dalam bentuk huruf atau angka atau gabungan keduanya yang digunakan sebagai anti spam pada suatu form. Bentuk captcha bermacam-macam, jenis dan gaya desainnya juga bermacam-macam, namun memiliki fungsi yang sama. Dengan menggunakan captcha kita bisa mencegah robot / script robot yang akan merusak sistem kita dengan cara memasukkannya berulang-ulang.
Langkah pembuatan Captcha adalah sebagai berikut:
1. Membuat file index.php
<!DOCTYPE html>2. Membuat file captcha.php
<html>
<head>
<title>Bedah PHP - Cara Membuat Captcha dengan php</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="kotak">
<?php
if(isset($_GET['pesan'])){
if($_GET['pesan'] == "salah"){
echo "<center><b style='color: red'>Captcha tidak sesuai !</b></center>";
}
}
?>
<p>Isi Captcha Dengan Benar</p>
<form action="periksa_captcha.php" method="post">
<table align="center">
<tr>
<td>Captcha</td>
<td><img src="captcha.php" alt="gambar" /></td>
</tr>
<td>Isikan captcha</td>
<td><input name="nilaiCaptcha" value=""/></td>
<tr>
<td><input type ="submit" value="Cek Captcha"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
<?php3. Membuat file cek.php untuk periksa kode captcha
//mengaktifkan session
session_start();
header("Content-type: image/png");
//menentukan session
$_SESSION["Captcha"]="";
//membuat gambar dengan menentukan ukuran
$gbr = imagecreate(150, 50);
//warna background captcha
imagecolorallocate($gbr, 69, 179, 157);
//pengaturan font captcha
$color = imagecolorallocate($gbr, 253, 252, 252);
$color2 = imagecolorallocate($gbr, 0, 0, 0);
$font = "Monaco.ttf";
$ukuran_font = 20;
$posisi = 32;
//membuat nomor acak dan ditampilkan pada gambar
for($i=0;$i<=5;$i++){
// jumlah karakter
$angka=rand(0, 9);
$_SESSION["Captcha"].=$angka;
$kemiringan= rand(-20, 20);
imagettftext($gbr, $ukuran_font, $kemiringan, 9+15*$i, $posisi, $color, $font, $angka);
imagettftext($gbr, $ukuran_font, $kemiringan, 11+15*$i, $posisi, $color2, $font, $angka);
}
//untuk membuat gambar
imagepng($gbr);
imagedestroy($gbr);
?>
<!DOCTYPE html>4. Membuat file style.php sebagai desain form nya
<html>
<head>
<title>Bedah PHP - Cara Membuat Captcha dengan php</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="kotak">
<?php
session_start();
if($_SESSION["Captcha"]!=$_POST["nilaiCaptcha"]){
header("location:index.php?pesan=salah");
}else{
echo "<center>";
echo "<b style='color: green'>Captcha Anda Benar</b><br>";
echo "<br><a href='index.php'>HOME</a>";
echo "</center>";
}
?>
</div>
</body>
</html>
body{
font-family: "roboto";
background: #F4F4F4;
}
h1,p{
text-align: center;
}
.kotak{
margin: 10px auto;
background: #fff;
width: 400px;
padding: 20px 0px;
}
.kotak table tr td{
padding: 5px;
}
.kotak table tr td input{
padding: 5px;
font-size: 12pt;
}
Direktori File |
Komentar
Posting Komentar