Mengenal captcha

Posted on Kamis, 10 September 2009 by Unknown



hm....apaan ya captcha. Nama orang, makanan, ato judul buku..? Pertama kali mendengar nama itu aku tahu akan berhadapan dengan sesuatu yang sulit. Soalnya dari namanya aja udah keliatan sulit. Hehehe...

Setelah mencari-cari, dan tanya si embah google.. dapat sedikit gambaran. Ternyata captcha itu sesuatu yang selama ini gak gitu kita perhatikan dan dianggap gak penting. Padahal ternyata fungsinya penting untuk suatu web.

Captcha adalah singkatan dari "Completely Automated Public Turing test to tell Computers and Humans Apart" ( Wikipedia ). dan dibuat untuk membedakan antara mesin ( bot ) dan manusia. Biasanya captcha digunakan untuk mengatasi serangan spam, dan dipakai atau dipasang di form pendaftaran, komentar, kontak, dll.



Nah cara bikin captcha gak begitu sulit, karena di dunia maya sudah banyak tutorial yang memberi script beserta penjelasannya. Ini salah satu contoh script sederhana yang saya pake.

1. Pertama buat dulu script untuk captcha nya

<?php session_start();
create_image();
exit();
function create_image()
{
$md5_hash = md5(rand(0,999));
$security_code = substr($md5_hash, 15, 5);

$_SESSION["security_code"] = $security_code;

$width = 100;
$height = 20;

$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
$grey = ImageColorAllocate($image, 204, 204, 204);
ImageFill($image, 0, 0, $black);
ImageString($image, 3, 30, 3, $security_code, $white);
ImageRectangle($image,0,0,$width-1,$height-1,$grey);
imageline($image, 0, $height/2, $width, $height/2, $grey);
imageline($image, $width/2, 0, $width/2, $height, $grey);

header("Content-Type: image/jpeg");
ImageJpeg($image);
ImageDestroy($image);
}
?>

Jangan lupa simpan dengan nama captcha.php

2. Setelah itu yang kedua bikin form untuk mengirim komentar.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

</head>
<body>
<table width="473" border="0" align="center">
        <tr>
          <td colspan="2"><h2>*) wajib diisi. </h2>              </td>
              </tr>
        <form name="form1" method="post" action="simpan_kontak.php">
          <input name="id" type="hidden" id="id" />
          <tr>
            <td>pesan</td>
            <td><textarea name="pesan" id="pesan"></textarea></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><img src="captcha.php" alt="Kode Captcha" width="100" height="20"></td>
          </tr>
          <tr>
            <td>Masukkan code diatas *</td>
            <td><input type="text" name="txtKode" id="txtKode"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="Submit" value="register" />
              <input type="reset" name="Submit2" value="batal" /></td>
          </tr>
          </form>
      </table>
</body>
</html>


Jangan lupa simpan dengan nama komen.php



3. Yang terakhir buat script untuk validasi


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("komen");
    $pesan_valid = $_POST['pesan'];
  
    if ($_SESSION["security_code"]!=$_POST['txtKode'])
    {
        echo "kode masih salah <br />";
    }
    else {
    $query="INSERT INTO komen(id_komen, pesan_peng, date_komen) VALUES('".$_POST['id']."', '$pesan_valid', CURDATE())";


    $result = @mysql_query($query) or die (mysql_error());

    if($result) echo'<h3>Kritik/saran anda telah terkirim</h3>';
    else echo'<h3>Error</h3>';}
    ?>
</body>
</html>


Simpan dengan nama simpan_komen.php

simpan ketiga file dalam satu folder.

Postingan Terkait Lainnya :


0 Responses to "Mengenal captcha":