Capthca sederhana memanfaatkan MD5 pada PHP


Captcha merupakan suatu tes otomatis yang digunakan untuk mengidentifikasi bahwa pengguna benar-benar merupakan manusia. Lebih jelasnya dapat dilihat di sini.

Lansung saja, berikut source yang digunakan untuk membuat image captcha:

<?php
if(isset($_GET[‘id’])) {
$id = $_GET[‘id’];
$id = substr(md5($id), 4,4);
$my_img = imagecreate( 160, 60 );
$background = imagecolorallocate( $my_img, 70, 70, 255 );
$text_colour = imagecolorallocate( $my_img, 255, 255, 0 );
$line_colour = imagecolorallocate( $my_img, 128, 255, 0 );
$col_poly = imagecolorallocate($my_img, 150, 150, 255);
$col_poly2 = imagecolorallocate($my_img, 200, 200, 255);
imagepolygon($my_img, array (
0,   0,
160, 20,
100, 60
),
3,
$col_poly);
imagesetthickness ( $my_img, 1 );
imagepolygon($my_img, array (
60,   60,
0, 30,
160, 60
),
3,
$col_poly2);
$col_ellipse = imagecolorallocate($my_img, 200, 255, 200);
$col_ellipse2 = imagecolorallocate($my_img, 10, 255, 10);

imageellipse($my_img, 10, -5, 300, 40, $col_ellipse);
imageellipse($my_img, 200, 65, 300, 40, $col_ellipse2);
imagestring( $my_img, 5, 30, 15, substr($id,0,1),$text_colour );
imagestring( $my_img, 5, 55, 40, substr($id,1,1),$text_colour );
imagestring( $my_img, 5, 95, 20, substr($id,2,1),$text_colour );
imagestring( $my_img, 5,125, 35, substr($id,3,1),$text_colour );
header( “Content-type: image/png” );
imagepng( $my_img );
imagecolordeallocate( $line_color );
imagecolordeallocate( $text_color );
imagecolordeallocate( $background );
imagedestroy( $my_img );
}
?>

Untuk implementasi dalam formnya, dapat menggunakan berbagai cara, salah satu yang paling umum ialah sebagai berikut:

<?php
$status = “”;
if(isset($_POST[‘action’]))
{
if($_POST[‘action’]==”PostComment”)
{
if(strlen($_POST[‘captcha’])>0)
{
$captcha = $_POST[‘captcha’];
$id = $_POST[‘idCaptcha’];
$id = substr(md5($id), 4,4);
if($captcha==$id) {
$status = “Captcha benar.”;
} else $status = “Isi captcha salah.”;
} else $status = “Isi captcha tidak valid.”;
}
}
?>

<html>
<head>
</head>
<body>
<form method=”POST”>
<table width=”800 px”>
<tr>
<td>
<?php $id=rand(100,999); ?>
<img src=”inc/captcha.php?id=<?php echo $id ?>”></img><br />
<input type=”text” name=”captcha”  />
<input type=”hidden” name=”idCaptcha” value=”<?php echo $id; ?>” />
</td>
</tr>
<tr>
<td>
<input type=”submit” value=”Kirim” />
</td>
</tr>
</table>
</form>
</body>
</html>

Tinggal diimplement aja..😀

 

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