Entri Populer

Jumat, 19 Oktober 2012

captha




Sebelum saya bahas lebih lanjut, sudah tahukah Anda apa yang dimaksud dengan captcha?
Tentu Anda sudah pernah menemui website yang menyediakan suatu form kepada pengunjungnya untuk memberikan komentar. Karena pengunjung suatu website sangat banyak dan susah untuk diketahui siapa dia, apakah dia laki-laki atau perempuan, berapa umurnya, apakah dia orang baik atau bukan, dll, maka kebanyakan website-website yang menyediakan form untuk mengirim komentar atau pesan ke pemilik website memberikan fasilitas pencegahan terhadap SPAM. Ya karena kita tidak tahu siapa saja yang mengunjungi website kita, siapa saja yang melakukan spamming, kalau kita tahu kan mudah saja ya, tinggal bawa pentungan terus ke rumahnya orang yang melakukan spamming ke website kita. Hehe :D
Spam sangat mudah terjadi di cyberspace karena beberapa hal seperti yang saya katakan diatas. Nah, untuk meminimalisir terjadinya spamming, maka para pengembang website membuat suatu alat yang salah satunya adalah captha. Captcha ini selalu ditempatkan pada suatu form dimana pengguna Internet  mengirimkan sesuatu seperti komentar atau pesan.
Captcha bekerja dengan cara melakukan pengecekan suatu input yang ada dalam suatu form. Pengecekan tersebut yaitu tentang kesamaan data yang ada di server dengan yang dimasukkan oleh pengunjung website. Data yang disamakan ini akan berubah setiap halaman suatu website dimuat ulang (reloaded / refreshed). Jadi bisa disimpulkan kalau data yang dijadikan pengecekan tersimpan pada SESSION.
Dengan cara ini sudah bisa dipastikan kalau ancaman terhadap spam bisa diminimalisir. Nah, bagaimana cara membuatnya?
Sebenarnya banyak sekali website-website di Internet yang menyediakan captha secara bebas atau gratis alias tinggal pakai. Tapi disini saya ingin berbagi informasi bagi Anda yang ingin menjadi webmaster. Disini saya membuat suatu captha penjumlahan dan mungkin Anda sudah pernah menemui captha yang seperti ini. :)
Untuk menjalankannya Anda memerlukan PHP versi 5 keatas. Oke, pertama siapkan file bernama captha.php dengan isi:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
class Captha {

var $range = '5-99'; // Jangkauan 5 sampai 99

function Captha(){

$code = $this->getCode();
$_SESSION['c_1'] = $code[0];
$_SESSION['c_2'] = $code[1];
$_SESSION['code'] = $code[2];

}

function getCode(){

$r = explode('-', $this->range);

$result = mt_rand($r[0], $r[1]);
$var_1 = mt_rand($r[0], $result);
$var_2 = $result - $var_1;

$code = array($var_1, $var_2, $result);

return $code;

}

}
?>
Nah, untuk memanggilnya Anda buat file coba.php dalam folder yang sama dengan captha.php tadi dan tinggal masukkan kode seperti dibawah:

1
2
3
4
5
6
7
8
9
10
<?php
session_start();

include 'captha.php';

$code = new Captha();

echo $_SESSION['c_1'].' + '.$_SESSION['c_2'].' = '.$_SESSION['code'];

?>
Jadinya seperti ini:
16 + 12 = 28

Tidak ada komentar:

Posting Komentar