Membuat Gambar Verifikasi atau Captcha

Seringkali kita jumpai sebuah gambar yang agak sulit di baca karna tulisan tersebut meliuk-liuk atau tidak tersusun secara rapih. Biasanya gambar ini ada di dalam form login atau register. Ya, gambar inilah yang di maksud captcha.

Fungsi captcha tersebut antara lain untuk membedakan antara manusia atau robot yang sedang melakukan input pada form login atau register tersebut, gambar ini berisi tulisan yang sulit di baca oleh robot namun mudah di baca oleh manusia.

Pada artikel ini saya akan mengajarkan bagaimana cara membuat verifikasi gambar atau captcha secara sederhana untuk membuat captcha kita membutuhkan 2 buah file yang mana file pertama adalah file pembuat gambarnya dan file ke dua adalah sebagai validator yaitu untuk mengecek apakah kata yang di masukan sesuai dengan gambar atau tidak. Pertama kita buat file capcha.php sebagai penghasil gambarnya.

captcha.php

  1. <?php
  2. //memulai session
  3. session_start();
  4. header('Content-Type: image/jpeg');
  5.  
  6. //fungsi untuk membuat gambar
  7. $image=imagecreate(60, 30);
  8.  
  9. //menentukan warna background
  10. imagefill($image, 0, 0, imagecolorallocate($image, 255, 255, 255)); //hitam
  11.  
  12. //menentukan warna text
  13. $warnatext=imagecolorallocate($image, 0, 0, 0); //putih
  14.  
  15. //mengenerate angka
  16. $angka1=rand(0, 9);
  17. $angka2=rand(0, 9);
  18. $angka3=rand(0, 9);
  19. $angka4=rand(0, 9);
  20. $code=$angka1.$angka2.$angka3.$angka4;
  21.  
  22. //menyimpan kode dalam session
  23. $_SESSION['captcha']=$code;
  24.  
  25. //menulis kode pada gambar
  26. imagestring($image, 5, 18, 12, $code, $warnatext);
  27.  
  28. //output gambar
  29. imagejpeg($image, "", 90);
  30.  
  31. //membebaskan memori
  32. imagedestroy($image);
  33. ?>

Selanjutnya membuat form validasinya yang akan mengecek apakah kode tersebut di masukan secara benar atau tidak. Kita beri nama file ini index.php.

index.php

  1. <?php
  2. //memulai session
  3. session_start();
  4.  
  5. if(isset($_POST['submit']))
  6. {
  7. //membaca kode dari form
  8. $code=$_POST['code'];
  9.  
  10. //memanggil kode yang di simpan di session
  11. $captcha=$_SESSION['captcha'];
  12.  
  13. //pengecekan kode
  14. if($code == $captcha)
  15. {
  16. echo("Selamat anda benar memasukan angka pada gambar");
  17. }
  18. else
  19. echo("Maaf, anda salah memasukan angka pada gambar");
  20. }
  21. else
  22. {
  23. ?>
  1. <form action="index.php" method="post">
  2. <img src="captcha.php" alt="captcha"/><br/>
  3. Masukan kode pada gambar<br/>
  4. <input type="text" name="code" maxlength="4"/><br/>
  5. <input type="submit" name="submit" value="submit"/></form>
  1. <?php
  2. }
  3. ?>

Sangat mudah bukan membuat gambar verifikasi atau captcha ini, anda juga dapat berkreasi pada style untuk formnya. Ingat captcha ini adalah captcha paling sederhana dan cocok untuk anda yang baru mempelajari pemrogramman dan PHP. Captcha tingkat lanjut atau yang lebih komplek lebih di sarankan dan akan di bahas pada artikel berikutnya. Ok cukup sekian semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *