Tutorial Membuat Captcha dengan PHP menjelaskan cara membuat captcha atau security Image menggunakan PHP, untuk menghindari spam.
"CAPTCHA atau Captcha adalah suatu bentuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer. Proses ini biasanya melibatkan suatu komputer (server) yang meminta seorang pengguna untuk menyelesaikan suatu uji sederhana yang dapat dihasilkan dan dinilai oleh komputer tersebut."CAPTCHA. (2010, Maret 15). Wikipedia, . Diakses pada 14:45, Maret 25, 2010 dari http://id.wikipedia.org/w/index.php?title=CAPTCHA&oldid=2986211.
Yang perlu diperhatikan dalam membuat captcha di PHP adalah librari PHP GD sudah terinstall. Untuk mengetahui PHP GD sudah terinstall, buatlah sebuah file dengan nama phpinfo.php dan isi dengan script di bawah:
<!--phpinfo.php-->
<?
phpinfo();
?>
Tempatkan file phpinfo.php ini di root directory webserver dan kemudian akses file ini menggunakan browser. Jika PHP GD sudah terinstall maka akan terlihat setting PHP GD seperti di bawah:
Jika PHP GD belum terinstall silahkan kunjungi link http://id2.php.net/manual/en/book.image.php untuk mengetahui cara menginstall PHP GD.
Ada tiga langkah singkat dan mudah membuat captcha dengan PHP, seperti berikut:
Buatlah sebuah image dengan tipe *.jpg dengan ukuran 60 x 30 px atau sesuai selera dengan warna background sesuai selera. Untuk membuat background image ini, bisa menggunakan MS paint, photoshop atau Gimp jika menggunakan OS linux. Contoh:
Buatlah sebuah file dengan nama captcha.php dan isi dengan script di bawah:
<?php
//captcha.php
session_start();
$alphaNumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$random = substr(str_shuffle($alphaNumeric), 0, 5);
$image = imagecreatefromjpeg("path/to/background.jpg");
$textColor = imagecolorallocate ($image, 0, 0, 0); //black
imagestring ($image, 5, 5, 8, $random, $textColor);
$_SESSION['image_random_value'] = md5($random);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>
Buatlah sebuah file dengan nama implement-captcha.php dan isi dengan script di bawah:
<!--implement-captcha.php-->
<?php
if($_POST['submit']){
session_start();
if(md5($_POST['pin']) == $_SESSION['image_random_value']){
echo '<p>You are people</p>';
}else{
echo '<p>Are you human being?</pa>';
}
}
?>
<form name="form1" method="post" action="">
<img src="captcha.php?date=<?php echo date('YmdHis');?>" alt="security image" />
<div>
Input Text Above: <input type="text" name="pin" />
<input type="submit" name="submit" value="Submit" />
</div>
</form>
Dengan melakukan tiga langkah di atas anda telah bisa membuat captcha menggunakan PHP. Download Tutorial