Membuat Gambar Validasi Captcha Dengan PHP

5:30:00 AM

Membuat Validasi Captcha Dengan PHP – Captcha berfungi untuk meyakinkan bahwa  suatu system di dalam website digunakan oleh pengunjung (manusia), bukan oleh mesin atau program. Sebagai contoh, jika kita memberikan fasilitas download ke user, maka kita dapat menampilkan captcha sebelum user melakukan download.  Hal ini bertujuan agar file-file yang anda sediakan di dalam website tidak dapat di download secara otomatis melalui program-program tertentu.

Pada kesempatan kali ini saya akan menjelaskan langkah-langkah membuat validasi captcha dengan menggunakan PHP. Captcha yang yang akan dibuat ini merupakan captcha berupa bilangan acak dalam rentang nila tertentu.

Pembuatan captcha yang akan dibahas ini dilakukan dengan mengacak bilangan dari 1000000 sampai 9999999 (tujuh digit).  Dalam pembuatan captcha ini kita hanya membutuhkan 3 file, diantaranya index.php, captcha.php dan validasicaptcha.php.
Langsung saja berikut langkah-langkahnya:

1.   Buat folder di htdocs anda dengan nama captcha
2.  Silahkan buka editor yang biasa anda gunakan saya disini menggunakan Adobe Dreamweaver, kemudian buat file index.php dengan script di bawah ini.
<html>
<head>
<title>Membuat gambar captcha</title>
</head>
<body>
<form action="validasicaptcha.php" method="post">
Masukan bilangan yang tampil pada gambar di bawah: <br/><br/>
<!--menampilkan gambar captcha-->
<img src="captcha.php"/> <br/><br/>
<input type="text" name="captcha" /><br/><br/>
<input type="submit" name="btnSubmit" value="Kirim"/>
</form>
</body>
</html>
3.    Dengan menggunakan script di bawah ini buat file dengan nama captcha.php.
<?php
session_start();

//mengashilkan bilangan acak 7 digit
$bilangan = rand(1000000, 9999999);

//mendaftarkan variabel di dalam sesion
$_SESSION["bilangan"] = $bilangan;

//membuat gambar captcha
$gambar = imagecreatetruecolor(85,35);
$background = imagecolorallocate ($gambar, 99,99,99);
$foreground = imagecolorallocate ($gambar, 255,255,255);
imagefill ($gambar, 0,0,$background);
imagestring ($gambar,10,10,10,$bilangan, $foreground);

//menentukan header
header("cache-control: no-cache, must-revalidate");
header ("content-type: image/png");
imagepng($gambar);
imagedestroy ($gambar);
?>
4.    Terakhir buat file validasicaptcha.php dengan script dibawah ini.
<?php session_start();?>
<html>
<head>
    <title>Membuat Gambar Captcha</title>
</head>
<body>
<h2>Validasi Captcha</h2>

<?php
if (isset($_POST['btnSubmit'])){
    $captcha = $_POST['captcha'];
    if ($captcha == $_SESSION['bilangan']){
        echo"Captcha benar...";
//proses lain yang akan dilakukan
    } else {
        echo "Captcha salah...";
    }
}
?><br/><br/>
<form action="index.php">
<input type="submit" name="btnSubmit" value="Back"/>
</form>
</body>
</html>
5. Silahkan anda melakukan pemanggilan melalui browser dengan alamat localhost/captcha. Jika berhasil maka tampilannya akan seperti ini.


Silahkan gunakan pada project yang sedang  anda bangun, semoga bermanfaat.



Reference: Budi Raharjo

Comments

Untuk menyisipkan kode pendek, gunakan <i rel="code"> ... KODE ... </i>
Untuk menyisipkan kode panjang, gunakan <i rel="pre"> ... KODE ... </i>
Untuk menyisipkan gambar, gunakan <i rel="image"> ... URL GAMBAR ... </i>