Membuat Captcha Dengan Script PHP

Belum tahu captcha?captcha adalah gambar (bisa juga rekaman suara) yang memperlihat kan suatu huruf atau objek lain yang digunakan untuk mengkonfirmasi bahwa kita atau yang menginputkan form atau hal sejenisnya adalah manusia, bukan bot. Sebagai contoh captha:

Untuk membuat captcha yang akan saya berikan pada tutorial kali ini diperlukan beberapa script, gambar, dan font huruf.
Script untuk membuat captcha: (captcha_image.php)
<?
session_start();
$random=md5(microtime());
$random=substr($random,0,5);
$NewImage =imagecreatefrompng(“captcha.png”);

$LineColor1=imagecolorallocate($NewImage,100,100,255);
$LineColor2=imagecolorallocate($NewImage,255,125,0);
$TextColor=imagecolorallocate($NewImage,255,100,100);

$text_x=rand(0,125);
$text_y=rand(20,75);
$line1_x1=rand(0,199);
$line1_x2=$text_x-5;
$line1_y1=rand(0,80);
$line1_y2=$text_y-5;
$font=’font.ttf’;
imageline($NewImage,0,0,$line1_x1,$line1_y2,$LineColor2);
imagettftext($NewImage,18,0,$text_x,$text_y,$TextColor, $font, $random);
imageline($NewImage,$line1_x1,$line1_y1,$line1_x2,$line1_y2,$LineColor1);
imageline($NewImage,$line1_x1,$line1_y1,200,0,$LineColor1);
imageline($NewImage,$line1_x1,40,100,$line1_y2,$LineColor2);

$_SESSION[‘key’]=$random;
header(“Content-type: image/png”);
imagepng($NewImage);
imagedestroy($NewImage);
?>

Pada script diatas membutuhkan sebuah gambar sebagai background captcha (captcha.png) dan font huruf (font.ttf). Disini saya menggunakan gambar berformat .png karena gambar yang dihasilkan lebih baik dari format .jpg. Sehingga perintah yang digunakan untuk membuat gambar yaitu

imagecreatefrompng(“captcha.png”)

dan perintah untuk menampilkan gambar pada browser yaitu

imagepng($NewImage);

jika anda ingin menggunakan file .jpg maka gunakan perintah

imagecreatefromjpeg(“captcha.jpg”)

dan

imagejpeg($NewImage);

Font yang digunakan terserah anda tetapi disini saya menggunakan font Comic Sans MS, jika anda mengganti fontnya mungkin akan memerlukan beberapa penyesuaian untuk ukuran font dan peritah $text_x=rand(0,125); $text_y=rand(20,75); karena perintah tersebut digunakan untuk merandom koordinat huruf dan angka yang akan ditampilkan pada gambar captcha.
Script form memasukan dan mencocokan capcta: (form.php)
<?
session_start();
?>
<html>
<head>
<title>Demo Captcha </title>
</head>
<body onLoad=”return focuson();”>
<center>
<script type=”text/javascript” language=”javascript”>
function focuson()
{document.form1.number.focus()}

function check()
{
if(document.form1.number.value==”)
{
alert(“Mohon masukan kode pada gambar”);
document.form1.number.focus();
return false;
}
}
</script>
<?
if(isset($_REQUEST[‘Submit’]))
{
$key=$_SESSION[‘key’];
$number = $_REQUEST[‘number’];
if($number!=$key)
{echo”Kode yang anda masukan salah!”;}
else
{echo”Kode yang anda masukan benar!”;}
}
?>
<form name=”form1″ method=”post” action=”” onsubmit=”return check();”>
<img src=”captcha_image.php” /><br>
<input name=”number” type=”text” id=”number” />
<input name=”Submit” type=”submit” value=”Submit” />
</form>
<?php
$random=md5(microtime());
$random=substr($random,0,5);
?>
</center>
</body>
</html>

Selesai..!!
Untuk melihat demo captha ini silahkan kunjungi: demo captcha
Untuk mendownload file-file yang dibutuhkan silahkan: [DOWNLOAD]

~ oleh wahyututorial pada 8 April 2010.

5 Tanggapan to “Membuat Captcha Dengan Script PHP”

  1. Sangat membantu gan, thx…

    bsa tlng sya gan, sya ingin membuat form psang iklan msih blm ada pencrahaan nih, kasi tutornya dnk…heuehe

    ok, slm knl

  2. Makasih infonya brooooo…
    http://www.zonabelajar.web.id/detailsartikel.php?title=Mengganti%20logon%20screen%20widows%207

  3. Kang kalo mau ganti gambarnya gmna scriptnya
    misalnya pake script gni -> Ganti dengan kode yang baru..? klik disini

    ket : user pngen gambarnya ganti coz dia ga tau gambar yg munculnya

    thx B4

  4. Ini yang saya cari mas…. mksih infonya ya🙂

  5. kok gak da tampilan image captcha nya sih ???
    mohon di perjelas lage donk ….

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: