Rumahweb’s News, Article, and Tutorial of Web Development

  • Home
  • Kumpulan Artikel
  • Berlangganan melalui RSS

Simple Captcha

August 22nd, 2007  |  Published in Artikel & Tutorial, Web Programming  |  1 Comment

Pengertian :
Captcha merupakan singkatan dari "Completely Automated Public Turing test to tell Computers and Humans Apart" ( Wikipedia ). dan dibuat untuk membedakan antara mesin ( bot ) dan manusia.

Implementasi :
Captcha sering kali digunakan untuk 'mengamankan' form dari serangan bot, contoh : pada form kontak, form pendaftaran, dsb. Kali ini, kita akan mencoba membuat sebuah simple captcha dengan menggunakan test matematika sederhana ( penjumlahan ).

file : captcha.php

PLAIN TEXT
PHP:
  1. <?php
  2. session_start();
  3. $gbr = "img.jpg"; //gambar untuk background
  4. //warna
  5. $merah = "255"; // range nya dari 0 - 255
  6. $ijo = "255"; //range nya = diatas :D
  7. $biru = "255";
  8.  
  9. //--- mari menggambar ----
  10. $acak1 = mt_rand(3,10); // nilai acak 1
  11. $acak2 = mt_rand(6,20); // nilai acak 2
  12. $strtampil = $acak1." + ".$acak2;
  13. $hasil = $acak1 + $acak2;
  14. $bikingbr =imagecreatefromjpeg($gbr);
  15. $teks = imagecolorallocate($bikingbr, $merah, $ijo, $biru);
  16. imagestring($bikingbr, 5, 20, 10, $strtampil, $teks);
  17. $_SESSION['capcay'] = $hasil;
  18. header("Content-type: image/jpeg");
  19. imagejpeg($bikingbr);
  20. ?>

Script diatas akan menjumlahkan nilai random ( acak ). Nilai acak tersebut didapat dari fungsi mt_rand(). Hasil dari penjumlahan nilai acak tersebut akan di simpan kedalam sebuah session yang nantinya akan berfungsi untuk melakukan pengecekan input dari form.

file : form.php

PLAIN TEXT
PHP:
  1. <?php
  2. session_start();
  3. if(isset($_POST['cek'])){
  4.    if($_POST['ccek'] == $_SESSION['capcay']){
  5.       echo "Lolos Validasi";
  6.    } else {
  7.       echo "Salah";
  8.    }
  9. }
  10. ?>
  11. <form action="" method="post">
  12.   <img src="captcha.php"/> <br />
  13. <input name="ccek" type="text"/>
  14. <input name="cek" type="submit" value="Cek..!!"/>
  15. </form>

File form.php adalah file yang digunakan sebagai input. Ketika tombol 'submit' ditekan, maka script akan melakukan pengecekan apakah input yang dimasukkan sudah sama dengan session yang dihasilkan sebelumnya pada file captcha.php

Demo dari kedua file diatas, dapat ditemukan disini .

Selamat mencoba ;)

Bookmark Artikel Ini
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • BlinkList
  • feedmelinks
  • Furl
  • Ma.gnolia
  • MisterWong
  • Propeller
  • StumbleUpon
  • Technorati
  • TwitThis
  • YahooMyWeb
  • E-mail this story to a friend!
  • Live
  • Reddit
  • Slashdot

Responses

Feed Trackback Address
  1. fa'at says:

    January 30th, 2009 at 2:03 am (#)

    dear kk rumah web,

    kk,kok gambar captchanya gak tampil?
    tolong kk kirim filenya ke mail ku ya.
    sangat butuh nih kk.

    Terima kasih.

Leave a Response

Popular Posts

  • PHP & MySQL: Tutorial Dasar
  • Berkenalan dengan PHP
  • Bagaimana Cara Mengupload Website ke Rumahweb dengan FTP?
  • Indikator Status Yahoo! Messenger
  • Membuat Form Kontak
  • Cara Upload MySQL Database
  • Membangun CMS dengan PHP [Bag.3]
  • Cara Membuat Google Sitemap
  • Instalasi OsCommerce melalui Fantastico
  • Cara Mengupload website ke Rumahweb melalui File Manager

Categories

  • Artikel & Tutorial
  • Fantastico Review
  • Gangguan
  • Manual Hosting
  • News
  • Promo
  • SEO
  • The Lounge
  • Web Design
  • Web Hosting
  • Web Programming

Tags

account Admin alamat rumahweb bahasa Blogspot bug Change Password cPanel core coredump cPanel Domain domain murah email Email Account error FTP gadget Google Hosting Hosting Indonesia hosting murah Hosting US Joomla linux Mail Oscommerce panduan php Plugin Promo rumahweb rumahweb jakarta Search Engine SEO setting Sitemap SMTP Setting SPAM template Themes tips Upload Website widget Wordpress


Rumahweb’s News, Article, and Tutorial of Web Development is using WordPress and Gridline Lite theme.