Friday, March 17, 2017

Membuat Kode Captcha Unik Menggunakan PHP

Apa itu Kode Captcha? Kode Captcha adalah sebuah kode unik yang umumnya digunakan sebagai konfirmasi sebuah masukan data. Tujuannya adalah untuk menghindari sebuah sistem, website, atau suatu aplikasi terhadap inputan data otomatis baik dari reload halaman maupun dari suatu robot.
Bingung ya? Sama..hehe.. Intinya adalah untuk membedakan yang melakukan itu orang atau bukan, gitu aja.

Lalu, bagaimana cara membuat kode captcha? sebelum masuk ke pembahasan, terlebih dahulu penulis ingatkan bahwa dalam pembahasan ini penulis beranggapan bahwa komputer saudara sudah terinstall web server localhost. Setelah itu, ikuti langkah-langkah berikut:

Pertama, siapkan sebuah font yang akan digunakan untuk menampilkan style kode captcha.

Kedua, siapkan sebuah gambar berekstensi JPG dengan panjang 300 pixel dan lebar 90 pixel.

Selanjutnya, buatlah sebuah folder web, misalkan CAPTCHA pada folder WWW untuk AppServ dan folder HTDOCS untuk XAMPP. Dalam hal ini penulis menggunakan AppServ.

Selanjutnya, buatlah 2 (dua) buah folder FONT dan IMAGES pada folder CAPTCHA yang telah dibuat.

Letakkan font yang disiapkan ke dalam folder FONT dan letakkan gambar ke dalam folder IMAGES.

Buatlah file "index.php" dalam folder CAPTCHA.
password terletak di akhir artikel
Buka file "index.php" menggunakan notepad atau notepad++ atau aplikasi sejenis kemudian ketikkan kode berikut:

<?php
session_start();
header("Content-type: image/jpg");

function RandomCode($max){

$char = array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y",
 "Z","a","b","c","d","e","f","g","h","j","k","l","m","n","p","q","r","s","t","u","v","w","x",
 "y","z","1","2","3","4","5","6","7","8","9");

$keys = array();
while(count($keys) < $max) {
    $x = mt_rand(0, count($char)-1);
    if(!in_array($x, $keys)) {
       $keys[] = $x;   
    }
}
foreach($keys as $key => $val){
   $random .= $char[$val];  
}
return $random;
}

$font='./font/XXX.TTF'; 
$images='./images/XXX.jpg'; 
$im = imagecreatefromjpeg("$images")or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 15, 110, 1); 


$text=RandomCode(6);

$_SESSION['captcha']=$text;

imagettftext($im, 45, 0, 5, 70, $text_color, $font, $text);
imagejpeg($im);
imagedestroy($im);
?>

Berikut penjelasannya:

Kode di atas digunakan untuk menyeting font yang akan digunakan untuk tampilan kode dan setting background gambar yang akan digunakan untuk menampilkan kode captcha.

Kode di atas digunakan untuk menentukan karakter masukan yang akan diacak.

Kode di atas digunakan untuk menentukan warna teks kode yang ditampilkan.

Kode di atas digunakan untuk menentukan banyaknya kode generate yang ditampilkan.

Kode di atas digunakan untuk membuat sesi untuk pengecekan pada halaman lain.

Kode di atas digunakan untuk menuliskan kode generate ke dalam gambar background.

Sekarang buka browser dan ketik alamat localhost/captcha dan lihat hasilnya. Coba sahabat refresh halaman dengan menekan F5 dan perhatikan hasil kode yang ditampilkan akan berubah-ubah.

Sekian dan semoga ulasan singkat ini bermanfaat bagi kita semua, khususnya bagi para sahabat yang sedang membangun website dan membutuhkan CAPTCHA. Untuk selengkapnya, sahabat dapat mengunduh contoh captcha yang sudah disediakan melalui link yang terletak di tengah artikel ini.

Terima kasih.

Password: suruhbelajar.blogspot.com
Share:

1 komentar:

Kritik dan saran yang membangun kami harapkan!

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Blog ini sangat membantu bagi anda?