Archive

Archive for January, 2008

Membuat PHP Captcha Sendiri

January 22, 2008 irfanroom 47 comments

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.

Captcha Preview

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();">
<img src="php_captcha.php" /></td>
<input name="number" type="text" id="number" /></td>
<input name="Submit" type="submit"   value="Submit" /></td>
</form>
</body>
</html>

Kode lengkapnya Bisa di download disini

Categories: Programming, Web Tags:

XHTML Validator Lokal buat para web developer

January 9, 2008 irfanroom 5 comments

Ceritanya lagi in progress waktu ngerjain websitenya Tabloid Computer News (http://www.tabloidcomputernews.com). Nah, dalam tahap pembuatan website kali ini saya kepingin supaya website saya ini sudah valid XHTML sesuai standar dari W3C. Buat yg belum tau apa itu XHTML standar dan w3C bisa menuju kesini. Nah, w3c telah menyediakan web untuk mengecek apakah website yang ada sudah valid/belum. Alamat validatornya ada disini http://validator.w3.org/

Waktu ngoding, tentu saja kita ngoding lokal alias dikomputer sendiri yg tidak terhubung dengan jaringan internet supaya bisa lebih cepat. Nah, buat rekan2 yang mau ngecek apakah kodingan yang di komputer lokal sudah valid atau belum XHTMLnya, kita bisa menggunakan AddOns dari Firefox yang bernama HTML Validator. Yang mau download bisa menuju kesini: http://users.skynet.be/mgueury/mozilla/download.html . Linknya saya dapet dari si dimas “blekok” yg juga programmer web di kant0r. Sebenerna w3c juga menyediakan library yg bisa didownload dan kita install untuk ngecek valid/tidaknya sebuah website. Tapi setelah saya baca2 kok agak ribet ya? hehe, pingin yg cepet aja. Tapi klo yg mau download library dari w3cnya bisa menuju kesini, http://validator.w3.org/docs/install.html . Cara install nya juga ada kok.

HTML Validator ScreenshootKembali ke HTML Validator. Fitur2nya apa aja? ya itu tadi, kita bisa ngecek apakah website yang sedang kita bangun sudah valid atau belum XHTMLnya. Kenapa harus XHTML valid? jawaban paling simple adalah supaya website yang kita bikin bisa terbaca oleh browser apapun, pada device apapun (komputer,pda,hp,etc). beberapa syarat dari format XHTML standar adalah semua tag harus ditutup, tidak boleh ada huruf besar didalam tag, dan masih banyak lagi. Saya juga gak hapal satu2. Sambil belajar juga sih… Add Ons ini merupakan punyanya Mozilla Firefox, jadi ya kita harus pake firefox dong. Download firefox disini.

Di halaman download validator tadi ada Screenshootnya. Kita bisa melihat apakah website kita sudah standar / belum di taskbar bagian kanan bawah browser firefox kita.

Cheers, semoga berguna buat web2 developer yg belum ngeh untuk men-standarkan Websitenya.

Categories: Web