-->

Notification

×

Iklan

Iklan

Indeks Berita

Tag Terpopuler

Membuat Chaptcha Anti Spam dengan menggunakan PHP

Thursday, May 9, 2013 | Thursday, May 09, 2013 WIB Last Updated 2013-05-09T14:31:02Z
Malam sobat blogger, pada kesempatan kali ini saya akan share tentang cara membuat Chaptcha anti SPAM dengan menggunakan PHP.

Contohnya bisa dilihat pada gambar dibawah ini:


Okeh, langsung saja ke topik permasalahannya....
Bagaimana cara buatnya...?!

Pertama-tama buat file PHP dengan nama chaptcha.php
Copykan script dibawah ini:

<? session_start();
//untuk membuat angka dan huruf yang randome
$str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstupwxyz0123456789';

//ambil 5 string yang bisa terdiri dari angka dan huruf 
$rand=substr(str_shuffle($str),0,5);

//fungsi acak
$no=rand(1,3);

//menempelkan angka tadi ke sebuah gambar background yang sudah di tetapkan sebelumnya.
$image=imagecreatefromjpeg("chaptcha.jpg");
$font=5;
$black=imagecolorallocate($image,0,0,0);
$y=(imagesy($image)-imagefontheight($font))/2;
imagestring($image,$font,8,$y,$rand,$black);

//membuat session string randome
$_SESSION['RandVal']=md5($rand);
header('Content-type:image/jpeg');
imagejpeg($image);
imagedestroy($image);
?> 


Selanjutnya buat file baru dengan nama index.php

<html>
<head>
<title>Code Chaptcha</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<form action="verifikasi.php" method="post" name="form1">
<table width="100%" border="0">
<tr >
	<td width="8%" align="left"><font face="verdana" size="2">Nama</font></td><td width="1%">:</td><td width="91%" align="left">
	<input type="text" size="30" name="nama"  id="nama"></td>
</tr>
<tr>
	<td align="left"><font face="verdana" size="2">Email</font></td><td>:</td><td align="left">
	<input type="text" name="email" id="email" size="30"></td>
</tr>
<tr>
	<td align="left" valign="top"><font face="verdana" size="2">Pesan</font></td><td>:</td>
	<td align="left"><textarea name="pesan" id="isi" cols="23" rows="5"></textarea></td>
</tr>
<tr>
  <td align="left" valign="top">&nbsp;</td>
  <td valign="top">&nbsp;</td>
  <td align="left"><img src="chaptcha.php" border="0"/></td>
</tr>
<tr>
  <td align="left" valign="top">Input Kode </td>
  <td valign="top">:</td>
  <td align="left"><input name="kode" type="text" id="kode" size="30"></td>
</tr>
<tr>
	<td>&nbsp;</td>
	<td></td>
	<td><input type="submit" name="ok" value="POST"></td>
</tr>
</table>
</form>

</body>
</html>

Nah sekarang sobat tinggal buatkan verifikasinya, jadi buat file baru lagi dengan nama verifikasi.php

<? session_start();?>
<html>
<head><title>Verifikasi</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<? 
if(isset($_POST['ok']) && isset($_POST['kode'])){
	$kode=trim($_POST['kode']);
	if(md5($kode)===$_SESSION['RandVal']){
		echo "Kode yang Anda masukan benar, data anda adalah : ";
		echo "<br><br><i>";
		echo "Nama Anda  : ".$_POST['nama']."<br>";
		echo "Email Anda : ".$_POST['email']."<br>";
		echo "Pesan Anda : ".$_POST['pesan']."<br></i>";
	}else{
		echo "Maaf, Kode yang Anda masukan salah. silahkan ";
		?><a href="index.php">ulangi!</a><?
	}
}
?>
</body>
</html>

Untuk source lengkapnya sobat bisa download pada link yang ada di bawah ini: