Tutorial Captcha dengan PHP

0
95

Captcha berfungsi untuk meyakinkan bahwa suatu sistem di dalam website digunakan oleh pengunjung (manusia), bukan oleh mesin/program. Pembuatan captcha dilakukan dengan mengacak bilangan dari 1000000 sampai 9999999 (tujuh digit). Setelah bilangan acak diperoleh maka langkah berikutnya adalah membuat gambar dari bilangan tersebut menggunakan library php_gd2.dll.

Step 1 –PERSIAPAN

Aktifkan library gd2 di dalam file php.ini dengan cara membuang tanda titik koma di depan bagian teks berikut.

;extension=php_gd2.dll

 

Menjadi:

extension=php_gd2.dll

 

Step 2 – MEMBUAT KODE UNTUK MEMBUAT GAMBAR CAPTCHA

Buatlah file captcha.php lalu tuliskan kode php seperti berikut.

<?php
session_start();

//mengambil biilangan acak 7 digit.
$bilangan = rand(1000000, 9999999);

//mendaftarkan variabel di dalam session
$_SESSION['bilangan'] = $bilangan;

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

//menentukan header
header("Cache-control: no-cache, must-revalidate");
imagepng($gambar);
imagedestroy($gambar);
?>

 

Step 3 – MENAMPILKAN GAMBAR CAPTCHA KE DALAM FORM

Setelah kode untuk pembuatan captcha tersedia maka kita perlu memanggil kode tersebut unutk menampilkannya. Dengan hal ini user dapat mengisi nilai yang sesuai dengan gambar captcha yang ditampilkan. Simpan file dengan nama form-captcha.php

<!DOCTYPE html>
<html>
<head>
  <title>Membuat Gambar Captcha</title>
</head>
<body>
<form action="validasicaptcha.php" method="post">
  Masukkan bilangan yang sesuai pada gambar yang ada dibawah:<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>

 

Contoh tampilan dari kode diatas.

Step 4 – MEMBUAT KODE VALIDASI CAPTCHA

Kode ini berfungsi untuk memeriksa apakah captcha yang dimasukkan oleh user benar atau tidak. Simpan dengan nama validasicaptcha.php

<?php session_start(); ?>
<!DOCTYPE html>
<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...";
  }
} ?>
</body>
</html>

 

Contoh tampilan yang dihasilkan jika user memasukkan bilangan yang sesuai dengan gambar captcha adalah sebagai berikut.

Nah sekarang anda sudah berhasil membuat captcha dengan PHP. Selamat belajar.

Terima Kasih telah membaca.

***PIU***

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here