Membuat Captcha dengan PHP

Updates:

Kalo perlu font-nya lebih besar, bisa pake ini:

// Set the enviroment variable for GD
putenv(‘GDFONTPATH=’ . realpath(‘.’));
// Name the font to be used (note the lack of the .ttf extension)
$font = ‘images/arial.ttf’;
// Add some shadow to the text
imagettftext($image, 12, 0, 11, 21, $grey, $font, $random);
// Add the text
imagettftext($image, 12, 0, 10, 20, $textColor, $font, $random);

// Set the enviroment variable for GDputenv(‘GDFONTPATH=’ . realpath(‘.’));
// Name the font to be used (note the lack of the .ttf extension)$font = ‘images/arial.ttf’;
// Add some shadow to the textimagettftext($image, 12, 0, 11, 21, $grey, $font, $random);
// Add the textimagettftext($image, 12, 0, 10, 20, $textColor, $font, $random);

Dengan nambahin file *.ttf sendiri.

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:

  1. <!–phpinfo.php–>
  2. <?
  3. phpinfo();
  4. ?>

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:

Setting PHP GD

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:

1. Membuat Gambar Sumber atau Background Image

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:

Captcha

2. Membuat Script Captcha dengan PHP

Buatlah sebuah file dengan nama captcha.php dan isi dengan script di bawah:

  1. <?php
  2. //captcha.php
  3. session_start();
  4. $alphaNumeric  = “ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”;
  5. $random = substr(str_shuffle($alphaNumeric), 0, 5);
  6. $image = imagecreatefromjpeg(“path/to/background.jpg”);
  7. $textColor = imagecolorallocate ($image, 0, 0, 0); //black
  8. imagestring ($image, 5, 5, 8,  $random, $textColor);
  9. $_SESSION[‘image_random_value’] = md5($random);
  10. header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
  11. header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
  12. header(“Cache-Control: no-store, no-cache, must-revalidate”);
  13. header(“Cache-Control: post-check=0, pre-check=0”, false);
  14. header(“Pragma: no-cache”);
  15. header(‘Content-type: image/jpeg’);
  16. imagejpeg($image);
  17. imagedestroy($image);
  18. ?>

3. Implementasi Script Captcha

Buatlah sebuah file dengan nama implement-captcha.php dan isi dengan script di bawah:

  1. <!–implement-captcha.php–>
  2. <?php
  3. if($_POST[‘submit’]){
  4. session_start();
  5.   if(md5($_POST[‘pin’]) == $_SESSION[‘image_random_value’]){
  6.     echo ‘<p>You are people</p>’;
  7.   }else{
  8.     echo ‘<p>Are you human being?</pa>’;
  9.   }
  10. }
  11. ?>
  12. <form name=”form1″ method=”post” action=””>
  13. <img src=”captcha.php?date=<?php echo date(‘YmdHis’);?>” alt=”security image” />
  14. <div>
  15. Input Text Above: <input type=”text” name=”pin” />
  16. <input type=”submit” name=”submit” value=”Submit” />
  17. </div>
  18. </form>

Dengan melakukan tiga langkah di atas anda telah bisa membuat captcha menggunakan PHP. Download Tutorial

source: myphptutorials.com

One thought on “Membuat Captcha dengan PHP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s