Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menciptakan Captcha Sederhana Dengan Php


 Captcha yakni salah satu bentuk keamanan dalam sebuah website dimana seorang user diminta untuk memasukkan huruf-huruf yang diperlihatkan digambar. Tujuan dari dipakai captcha ini semoga input data tidak dimasukkan oleh komputer atau robot, alasannya hanya robot tidak dapat membaca gambar maka keamanan sistem akan terjamin. Kali ini kita akan menciptakan captcha sederhana dengan PHP dimana huruf-huruf yang ditampilkan akan diacak oleh sistem. Tapi kita juga memerlukan sebuah gambar captcha terlihat semakin menarik. Langsung saja kita mulai, pertama silahkan copy script PHP berikut ini:

<?php
session_start();
$alphaNumeric = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$random = substr(str_shuffle($alphaNumeric), 0, 5);
$image = imagecreatefromjpeg("captcha.png");
$textColor = imagecolorallocate ($image,62,38,11); //warna hitam
imagestring ($image, 5, 5, 8, $random, $textColor); 
$_SESSION['image_random_value'] = md5($random);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");     
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>


Simpan file diatas dengan nama captcha.php dalam sebuah folder. Untuk menciptakan captcha ini kita memakai session dalam PHP alasannya nantinya variabel captcha akan ditampung dalam sebuah session berjulukan 'image_random_value', maka untuk menciptakan session kita memerlukan arahan session_start(). Kemudian ada variabel $alphaNumeric dimana isinya yakni abjad kapital beserta angka, nantinya abjad dan angka dari variabel ini akan diambil sebanyak lima buah dan diambil secara acak. Kita juga dapat memilih warna goresan pena dengan memakai fungis imagecolorallocate(). Selanjutnya, semoga gambar terlihat semakin sulit dilihat, kita memerlukan sebuah background yang banyak bergaris. Kalian dapat memakai gambar berikut ini:


Atau kalian dapat juga memakai gambar lain yang ukuran tidak jauh berbeda dengan gambar diatas. Pastikan juga kalian meletakkan file gambar captcha.png tersebut pada direktori yang sama dengan file captcha.php. Atau kalau terletak pada direktori berbeda, silahkan ubah script diatas dengan mengedit direktori pada variabel $image.

Nah, untuk memasang arahan tersebut pada file HTML semoga terlihat dibrowser. Silahkan copy script berikut ini:

<form action="tambah_pesan.php" method="post">
<input name="nama" type="text"/><br/>
<textarea name="pesan"></textarea><br/>
<img align="left" src="captcha.php"><br/>
<input type="text" name="captcha"><br/>
<input type="submit" value="Submit"/>
</form>


Kode html diatas nantinya akan diproses ke file php berjulukan tambah_pesan.php dan berikut ini yakni script untuk file tambah_pesan.php. Jika kalian ingin eksklusif menghubungkan database, silahakn kalian buat script konek ke database sendiri, alasannya disini aku hanya akan memperlihatkan bagaimana melaksanakan validasi captcha saja.

<?php
session_start();
$nama = $_POST['nama'];
$pesan = $_POST['pesan'];
$captcha = $_POST['captcha'];
$valid = 1;
if(md5($captcha) != $_SESSION['image_random_value']){
$valid = 0;
echo "Maaf, arahan captcha yang dimasukkan salah!!!";
}
if($valid == 1){
//masukkan kedatabase..
echo "Selamat, anda berhasil";
}
?>

Simple bukan? Kalian dapat merubah script diatas sesuai dengan impian kalian sendiri. Semoga tutorial ini berguna.


Posting Komentar untuk "Cara Menciptakan Captcha Sederhana Dengan Php"