Langsung ke konten utama

Membuat CAPTCHA sederhana dengan PHP


Setelah sebelumnya kita membahas Pengertian CAPTCHA sekarang pada kesempatan kali ini kita akan membahas bagaimana cara pembuatan CAPTCHA dengan menggunakan fungsi GD pada PHP,
Sebelum kita masuk ke script siapkan dulu beberapa file berikut ini:
Font => digunakan untuk menentukan tampilan jenis text pada captcha
Gambar => digunakan untuk background captcha
Kurang lebih letak file-filenya seperti gambar dibawah ini
Langsung saja berikut ini adalah langkah-langkahnya

1. Buatlah captcha.php
<?php
session_start();
header("Content-type: image/jpg");
//generate Code
function RandomCode($max){
//Huruf dan angka yang akan di acak
$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; 
} 
}
$random='';
foreach($keys as $key => $val){
$random .= $char[$val]; 
}
return $random;
}
$font='./font/VeraMoBd.ttf'; //setting font yang akan digunakan
$images='./images/bg.jpg'; //gambar yang akan digunakan sebagai background
$im = imagecreatefromjpeg("$images")or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 45, 220, 45); //menentukan warna text
//Generate kode yang akan dituliskan pada gambar sebanyak 6
$text=RandomCode(6);
//Buat sessi untuk pengecekan pada halaman lain
$_SESSION['captcha']=$text;
//Tuliskan text pada gambar
imagettftext($im, 40, 0, 20, 60, $text_color, $font, $text);
imagejpeg($im);
imagedestroy($im);
?>


2. Buat index.html
File ini adalah sebagai file pertama kali dijalankan ketika kita membuka captcha sebenarnya anda bisa membuatnya dengan file index.php ataupun index.html

<form method="post" name="frm" action="cek-captcha.php">
Masukkan kode dibawah ini:
<br />
<input type="text" name="captcha" />
<br />
<img src="captcha.php" />
<br />
<input type="submit" name="btnCaptcha" value="Ok" />
</form>
Pada file di atas dapat kita lihat bahwa kita hanya menggunakan perintah html image seperti biasa untuk menampikan captcha pada halaman index / login
Yaitu pada script

3. Buat cek-captcha.php
Script ini digunakan untuk melakukan pengecekan kebenaran kode yang di masukkan oleh user. Struktur dari script cek-captcha.php adalah sebagai berikut :
<?php
session_start();
if($_POST['captcha'] == $_SESSION['captcha']){
echo 'Kode yang anda masukkan benar, yaiut <font size="5">'.$_SESSION['captcha'].'</font>';
}
else{
echo 'Kode yang anda masukkan salah, seharusnya <font size="5">'.$_SESSION['captcha'].'</font><br />
Bukan <font size="5">'.$_POST['captcha'].'</font>';
}
?>
Script ini memanfaat session yang telah dibuat pada saat script captcha diload pada halaman index. jika kode yang di inputkan user sesuai dengan session yang sudah ada, maka akan ditampilkan pesan sukses, begitu pula sebaliknya akan ditampilkan pesan kesalahan jika kode yang di inputkan oleh user salah.anda bisa download file lengkap captcha, klik icon download di bawah ini

http://www.4shared.com/zip/Utn-Zo-Cba/captcha.html
Cukup sekian dulu pembahasan Membuat CAPTCHA sederhana dengan PHP apabila ada pertanyaan atau masukan silahkan tinggalkan di komentar, 

Komentar

  1. wah kayaknya sulit juga,,hehehe

    BalasHapus
  2. cara buat captcha buat tombol login langsung di blog gimana ya om ???

    BalasHapus

Posting Komentar

Kritik, Saran dan Komentar Kami tunggu

Postingan populer dari blog ini

Crystal Report Error : Failed to load database infromation

Ketika menjalankan crystal report tiba - tiba terjadi error dengan pesan Failed to load database infromation, usut punya usut ternyata penyebabnya adalah windows 10. Gambar : Error Crystal Report Tapi tenang saja berikut ini saya akan bahas cara penyelesaianya Masuk ke file yourApp.exe.config. Cari code <?xml version="1.0" encoding="utf-8" ?> <configuration>     <startup>          <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />     </startup> </configuration> Ubah menjadi <?xml version="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> </configuration> Kemudian coba lagi jalankan print dengan crystal report.  Source http://stackoverflow.com/questions/15951142/appcrash-on-s

Perbedaan metode close dan dispose

Klikartikel.com Perbedaan dasar antara Close () dan Dispose () yaitu, ketika metode Close () dipanggil, maka koneksi akan ditutup sementara dan dapat dibuka sekali lagi. lalu perbedaan dengan dispose () yaitu ketika metode dispose dipanggil maka akan secara permanen menutup dan menghapus objek koneksi dari memori dan tidak ada lagi pemrosesan lebih lanjut. Contoh penggunaan fungsi Close dan Dispose string constring = "Server=(localhost);database=myprojectdb; username =root; password=admin"; SqlConnection sqlcon = new SqlConnection(constring); sqlcon.Open();   // disini koneksi dibuka // jalankan kode disini } catch {      // kode akan dijalankan saat error terjadi di blok try } finally {  sqlcon.Close();               // koneksi ditutup  sqlcon.Dispose();         // menghancurkan koneksi objek }

Cara Mudah Upload File Ke Github

Klikartikel.com - Selamat malam udah lama rasanya ga posting ke blog ini karena kegiatan kuliah dan kerjaan yang padat. Kali ini kita akan belajar tentang bagaimana cara mengupload file atau project kita ke github, Langsung saja kita bahas bagaimana cara mudah upload file ke github Pertama - tama buat akun github terlebih dahulu. Pastikan koneksi internet anda lancar dan stabil Pilih folder yang akan kita upload filenya  Kemudian masukan perintah berikut Pertama Inisialisai file git int Kedua Memasukan File Project git add * Atau jika kita hanya memasukan beberapa file bisa menggunkan perintah seperti di bawah ini git add namafile.format_file Setelah itu cek status file  Ketiga menyimpan sekaligus membuat catatan  git commit -m "upload pertama" Login ke akun github kemudian buat repository    Copy link repository Melakukan Pull and Push Masuk ke terminal lagi kemudian koneksikan antara repository dan github di dekstop deng