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

Simple Captcha

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
[php]
< ?php session_start(); $gbr = "img.jpg"; //gambar untuk background //warna $merah = "255"; // range nya dari 0 - 255 $ijo = "255"; //range nya = diatas 😀 $biru = "255"; //--- mari menggambar ---- $acak1 = mt_rand(3,10); // nilai acak 1 $acak2 = mt_rand(6,20); // nilai acak 2 $strtampil = $acak1." + ".$acak2; $hasil = $acak1 + $acak2; $bikingbr =imagecreatefromjpeg($gbr); $teks = imagecolorallocate($bikingbr, $merah, $ijo, $biru); imagestring($bikingbr, 5, 20, 10, $strtampil, $teks); $_SESSION['capcay'] = $hasil; header("Content-type: image/jpeg"); imagejpeg($bikingbr); ?>
[/php]

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
[php]
< ?php session_start(); if(isset($_POST['cek'])){ if($_POST['ccek'] == $_SESSION['capcay']){ echo "Lolos Validasi"; } else { echo "Salah"; } } ?>




[/php]

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 😉

Tinggalkan Komentar

Rumahweb

1 comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • dear kk rumah web,

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

    Terima kasih.

Blog Competition