...Open Up your mind, n share together
best view 1024 X 768
 

M e n u

 ::  H o m e

 ::  A r t i c l e

 ::  Share It!

 ::  Wise Words

 ::  L y r i c

 ::  Web Link

 ::  Direct Download

 ::  Ringtone Download

 ::  Torrent Download

 ::  Guest Book

 ::  Condemn Israel

 ::  Deepforest

Antivirus Update
Norton, AVG, AVAST!
Automatic Update,
direct dload
... M o r e ...
Latest Article
.: Sedekah Solusi Atasi Krisis
.: Hidup Sehat Ala Rasulullah SAW
.: Mengapa Saya Berjilbab?
.: Instal Aplikasi Java Islami di Handphone
.: Garansi Surga Allah
.: Kumpulan Aplikasi, Software, MP3 Islam
.: Mengalirlah Yg Deras
... M o r e ...
Share It!
.: possible...
.: Bisnis Online Dengan BLOG...
.: Mohon Doa Restunya...
.: Ketika yang bener jadi mlungker ...
.: Infaq Donasi Peduli Palestina...
.: [CoLiq Blog] Download ala Rapidshare ...
.: Hosting UGM makin parah aja ...
... M o r e ...
Latest Comments
.: Harus bersedakah biar ...
.: sedekah memang segalanyaa ...
.: Keren sob, ditunggu kunbalnya <a ...
.: Mohon dijelaskan lebih jauh ...
.: Untuk membuat bisnis online ...
.: bagus sekali tulisannya.. meski ...
.: Sangat patut dicontoh......
.: Just Jambu merah...
.: karakter aku mirip siapa ...
.: yang belum make jilbab,cba ...
USER IP
3.227.249.234
 
wongkediri.com
 
 

:: ARTIKEL Programming >>  


PHP: Pengamanan Web Form dengan caText dan caMath

Seperti biasa ceritanya Ketika browsing saya suka mendisable gambar agar loadingnya lebih cepat. Browser favorit saya adalah Opera lalu Firefox, Firefox ditambah plugin imglikeopera :)

Ada juga yg suka menggunakan aplikasi yg langsung merender halaman web dan menghilangkan link berisi gambar seperti admuncher -- Aplikasi ini keren banget, detik.com jadi muluss cm tulisan doang :) -- sayangnya aplikasi ini kudu beli :)

Nah ga enaknya disabled image, pas mau isi form seperti: login, registrasi, posting, buku tamu dsb. Rata2 form sekarang dilengkapi captcha untuk mencegah robot atau aplikasi SPAM yg mengisi form2 secara acak, sehingga isinya sampah atau iklan2 ga bermutu. Sebenarnya dengan klik kanan dan show image/reload image captcha udah tampil, tapi... dl Opera saya bandel dia ga mau reload itu captcha..


maka saya coba buat pengamanan model text. beberapa saat masih OK, tapi tak lama kemudian udah banjir SPAM lagi :(( akhirnya saya buat model random text tapi Key-nya juga random. Nah ini saya share disini --Semoga ga ada yg iseeng dan buat robot special purpose :P --

Captcha image umumnya adalah gambar berisi text acak yang di beri distorsi sedemikian rupa sehingga spammer tidak bisa membacanya. Namun tetep aja ada yg buat aplikasi untuk membaca/merender gambar dan mengambil textny saja. -- jadi ingat aplikasinya Bang Phyton untuk baca plat nomor di parkiran --

--skipping--

# caText

OK, idenya sederhana. buat text acak dan acak juga letak kode kunci-nya. Jadi ada 2 variabel untuk nyimpan text keseluruhan(tampil) dan text yg berisi kode. Untuk membedakan text kode dan text pengacak di tampilkan dengan warna yg berbeda, satu mencolok dan satu lebih soft.

Hasilnya: Qw3Rty -> misalkan yg jadi text kode adalah warna biru dan text pengacak abu2.

Jadi user harus memasukkan kode yg benar yaitu: 3Ry

Berikut ini potongan script dari class catext.class.php 

function generate($enc = ""){
// random char composition
$salt = "abcdefABCDEF1234567890";
$len = strlen($salt);
mt_srand(10000000*(double)microtime());

for ($i = 0; $i < $this->text_length; $i++){
if(($i == mt_rand($i,$this->text_length - 1)) && $this->key_length > 0){
$text = $salt[mt_rand(0,$len - 1)];
$this->text_result .= "" . $text . "";
$this->key_result .= $text;
$this->key_length--;
} else
$this->text_result .= "" . $salt[mt_rand(0,$len - 1)] . "";
}
// direct print code
print($this->text_result);
switch ($enc) {
case "md5":
return $this->catext_md5($this->key_result);
break;
case "sha1":
return $this->catext_sha1($this->key_result);
break;
default:
return trim($this->key_result);
}
}

# caMath

pas blog walking, ada ide lain dengan metode yang mirip, saya lupa lihat d blognya siapa ada yg buat model matematika sederhana, misalkan dengan operasi penambahan dan pengurangan angka2 kecil --asal ga pake kalkulator aja :D -- saya kira ini jauh lebih cepat daripada caText, karena looping-nya ga ada.

Contoh text hasilnya: 2+ 5

User harus memasukkan hasil dari operasi matematika tersebut yaitu: 7

Berikut ini potongan script dari class camath.class.php 

/*
* Function to "translate" mathematic operation
* @val1: int
* @val2: int
* @op: int; if you add/remove case section, please update generate(); function
*/
function translate($val1, $val2, $op = 0){
switch ($op) {
case 0:
$this->_resultText = $val1 . ' + ' . $val2;
$this->_resultNumber = $val1 + $val2;
break;

case 1:
$this->_resultText = $val1 . ' - ' . $val2;
$this->_resultNumber = $val1 - $val2;
break;
default:
$this->translate($val1, $val2, 0);
}
}

function generate($enc = ""){
$val1 = rand($this->_min, $this->_max);
$val2 = rand($this->_min, $this->_max);

// update this value if you modify(add/remove case) translate(); function
$opr = rand(0, 1);

$this->translate($val1, $val2, $opr);

print $this->_resultText;// printing code
switch ($enc) {
case "md5":
return $this->caMath_md5($this->_resultNumber);
break;
case "sha1":
return $this->caMath_sha1($this->_resultNumber);
break;
default:
return trim($this->_resultNumber);
}

}

 

Nah.. gmn cara pengecekannya??

dengan menyisipkan nilai text kode dalam type hidden field di form tersebut. Sangat disarankan text kode di encrypt!!, biar ga mudah di baca spammer. lalu mencocokkan kode input dari user dengan text kode dari hidden field. udah selesai :)

Download Class dan contoh penggunaan caText & caMath v.1

Biar afdhol lihat Demonya disini 

 

Bacaan:

http://en.wikipedia.org/wiki/Captcha 

 




[LiQ] | 2007-08-21 10:35:11 | dibaca: 15742 kali | ditanggapi: 1 kali



1 Comment
# 1.  rik | 2007-09-07 08:01:01  

buka link ini.. titlenya bisa dirubah euy.. peace..

http://coliq.web.ugm.ac.id/index.php?menu=artdet&art=241&nm=Programming&t=ini%20title%20bodoh..%20hahaha

LiQ: Iya bener sekali, lagsung ngambil dr GET.
awalnya nggak gt, trus ganti model gitu mksdny dl biar aga enteng. tau sendiri serper UGM ini lelet.

Ini juga yg buat sy sempat tergoda untuk pake blog sperti wordpress dll.. biar maintenance gampang.

Ini web primitif banget, klo lihat codingnya wah.. jadi ketawa.
Klo anda baca menu deepforest web ini adalah hasil pertama kali belajar PHP.
Jadi saya pertahankan ini karena web ini hasil pertama kali belajar PHP :D,

Jadi mohon maklum :) walaupun maintenanceny tambal sulam :D, ampe udah ga ingat fungsiny untuk apa :)

Thx ya.. udah iseng-iseng :D
Kapan2 aja deh update lagi :(


Quick comment
 Name
 Email (protected)
 Web site
 baAEd   [Red Code]
    


Website ini disusun dengan Editplus
2005-2007 deepforest™