Pernah denger istilah Captcha? captcha itu harfiahnya “Completely Automated Public Turing test to tell Computers and Humans Apart” ( dari Wikipedia ).
Dibuat untuk membedakan antara mesin ( bot ) dan manusia. Captcha
dibuat untuk melakukan validasi input pada website2 yang mempersilahkan
pengunjung memberikan inputan baik berupa komentar, shoutout, kotak
pendaftaran, atau apapun dimana pengunjung menginputkan sesuatu.
Kenapa harus divalidasi? soalnya banyak banget program2 SPAM COmment
yang bisa aja menyerang situs kita. Kebayang kan klo kita bikin website,
terus isi dari Comment/guestbook di website kita itu isinya Link2 ad
ato penawaran tentang produk ato ga link ke situs2 porno. Jadi gak sedap
dipandang. Biasanya yg ngisi Comment adalah program yang secara
otomatis melakukan submit ke buku tamu / halaman comment website/blog
kita.. Nah, klo pernah kejadian kayak gitu ato ga ngeliat yang kayak
gitu, sebaiknya lengkapi websitenya dengan Captcha.
Captcha = Gambar Samar2
Simpelnya, Captcha merupakan sebuah gambar (image) yang berisi Angka /
Teks atau kombinasi Angka & teks yang disamar2kan bentuk &
rupanya sehingga memerlukan ketelitian dari pengunjung / orang yang
ingin melakukan inputan data disebuah website.
Menambahkan Captcha pada website kita
Cara yang pertama adalah dengan download library Captcha dari
thecaptcha.com Kita tinggal menambahkan librarynya dan disisipkan dengan
website kita.
Cara yang kedua adalah dengan membuat PHP Captcha kita sendiri. Kode
ini saya dapat dari somewhere setelah googling2. Eh ga taunya baru tau
kalo di rumahweb.com tutorial kayak gini udah pernah ditulis. Jadi klo
mau lebih detail boleh liat ke situsnya.
Cara Kerjanya:
Nah, cara kerjanya adalah bermain2 dengan session, pada saat form
pendaftaran di Load, maka dibuatkan String Random dari MD5 yang diambil 5
digit pertamanya. Kemudian string itu disimpen di SESSION, Dari String
itu dibuatkan Image dengan menggunakan GDLIbrary bawaan dari PHP dan
ditampilkan di halaman Form tersebut. Pada saat User Submit String
tersebut, dilakukan pengecekan dengan Session yang sudah tersimpan
sebelumnya.
File: php_captcha.php
<?php
session_start(); $RandomStr = md5(microtime());
// md5 to generate the random string $ResultStr = substr($RandomStr,0,5);
//trim 5 digit $NewImage =imagecreatefromjpeg("img.jpg");
//image create by existing image and as back ground
$LineColor = imagecolorallocate($NewImage,233,239,239);
//line color $TextColor = imagecolorallocate($NewImage, 255, 255, 255);
//text color-white
imageline($NewImage,1,1,40,40,$LineColor);
//create line 1 on image imageline($NewImage,1,100,60,0,$LineColor);
//create line 2 on image imageline($NewImage,5, 1, 200, 50, $LineColor);
imagestring($NewImage, 5, 15, 5, $ResultStr, $TextColor);
// Draw a random string horizontally
$_SESSION['key'] = $ResultStr;
// carry the data through session header("Content-type: image/jpeg");
// out out the image imagejpeg($NewImage);
//Output image to browser
?>
File: form.php
<?php
session_start();
?>
<html> <head> <title>PHP-CAPTCHA </title> </head>
<body onload="return focuson();">
<script language="javascript">
function focuson()
{ document.form1.number.focus()}
function check()
{ if(document.form1.number.value==0)
{ alert("Please enter your Category Name");
document.form1.number.focus();
return false; } }
</script>
<?php
if(isset($_REQUEST['Submit']))
{ $key=substr($_SESSION['key'],0,5);
$number = $_REQUEST['number'];
if($number!=$key)
{ echo '<center><font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">
Validation string not valid! Please try again!</font></center>';}
else{ echo '<center><font face="Verdana, Arial, Helvetica, sans-serif"
color="#66CC00"> Your string is valid!
</font></center>';} }
?>
<form name="form1" method="post" action="form.php" onsubmit="return check();">
Sumber: http://irfanroom.wordpress.com/2008/01/22/membuat-php-captcha-sendiri/
0 komentar:
Posting Komentar