Komunitas Informatika Aneuk Nanggröe

Dengan Agama hidup menjadi terarah, dengan Ilmu hidup menjadi mudah dan dengan seni hidup menjadi indah..!!
 
IndeksPortalFAQPencarianPendaftaranLogin

Share | 
 

 Security Code - Security Image - atau Captcha

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
butengsmi01
Play Group


Male
Jumlah posting : 7
Lokasi : Banda Aceh
Registration date : 14.09.08

PostSubyek: Security Code - Security Image - atau Captcha   Mon Sep 15, 2008 10:08 pm

Kali ini saya mau menjelaskan bagaimana cara membuat Security Code - Security Image - atau Captcha.

Apa itu Security Image/ Security Code?
Security image adalah suatu bentuk perlindungan terhadap suatu form dari serangan SPAM.

Sebagai contoh pernakah anda mengisi formulir pendaftaran untuk mendapatkan email account di yahoo??
Lihat bagian bawah diatas tombol submit, di situ ada security code yang muncul...dan anda harus mengisi security code tersebut

Cara Kerjanya?

Pertama:
Formulir akan menampilkan security code yang di generate oleh script PHP, apabila page tersebut di refresh maka security code akan di generate lagi sehingga berubah codenya hal ini sangat berguna sekali untuk menangkal serangan spam.

Kedua:
Setelah di submit, script php akan memvalidasi data anda dan mencocok kan security code yang telah anda masuk kan apabila security code tidak sama, maka proses akan di batalkan apabila security code sama, maka proses akan dilanjutkan.

Berikut file-file yang akan kita gunakan :

1. script form.htm
2. script action.php
3. script captchasecurityimages.php
4. file font

Penjelasan:

====================================================================
ingat ini hanya contoh, anda bisa mengembangkan sendiri script anda
====================================================================

1. script form.htm
-------

Pesan:



Security Code:



-------

2. script action.php
-------
session_start();

if( isset($_POST['submit'])) {
if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) {
// masukkan script anda jika validasi benar
echo 'Terimakasih Pasan anda: "'.$_POST['message'].'"';
} else {
// masukkan script anda jika validasi salah
echo 'Sorry, anda memasukkan security code yang salah
';
include "form.htm";

}
} else {

include "form.htm";

}
?>
-------

3. script captchasecurityimages.php
-------

session_start();
class CaptchaSecurityImages {
var $font = 'monofont.ttf';
function generateCode($characters) {
/* list all possible characters, similar looking characters and vowels have been removed */
$possible = '23456789bcdfghjkmnpqrstvwxyz';
$code = '';
$i = 0;
while ($i < $characters) {
$code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
$i++;
}
return $code;
}
function CaptchaSecurityImages($width='120',$height='40',$characters='6') {
$code = $this->generateCode($characters);
/* font size will be 75% of the image height */
$font_size = $height * 0.75;
$image = @imagecreate($width, $height) or die('Cannot Initialize new GD image stream');
/* set the colours */
$background_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 20, 40, 100);
$noise_color = imagecolorallocate($image, 100, 120, 180);
/* generate random dots in background */
for( $i=0; $i<($width*$height)/3; $i++ ) {
imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
}
/* generate random lines in background */
for( $i=0; $i<($width*$height)/150; $i++ ) {
imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
}
/* create textbox and add text */
$textbox = imagettfbbox($font_size, 0, $this->font, $code);
$x = ($width - $textbox[4])/2;
$y = ($height - $textbox[5])/2;
imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code);
/* output captcha image to browser */
imagejpeg($image);
imagedestroy($image);
$_SESSION['security_code'] = $code;
}
}
$width = isset($_GET['width']) ? $_GET['width'] : '120';
$height = isset($_GET['height']) ? $_GET['height'] : '40';
$characters = isset($_GET['characters']) ? $_GET['characters'] : '6';
header('Content-Type: image/jpeg');
$captcha = new captchasecurityimages($width,$height,$characters);

?>
-------

4. file font

Gunakan font: monofont.ttf

*keterangan:
Anda harus mengupload juga file font nya, sebagai contoh saya menggunakan font "monofont.ttf", file font yang ukurannya paling kecil cocok buat website, semua file di atas harus di tempatkan pada directory/ folder yang sama. Laughing rabbit
Kembali Ke Atas Go down
Lihat profil user http://fajrib-nad.co.cc
 
Security Code - Security Image - atau Captcha
Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» ER-6n ---------------- atau ----------------ER-6F ????????
» cdi atau knalpot?
» Pilih BT92 ukuran 150/70 atau 150/60
» master rem Brembo R1 atau Brembo RCS15
» pilih mana: akrapovik, yoshimura USA, nojima, atau Arrow

Permissions in this forum:Anda tidak dapat menjawab topik
Komunitas Informatika Aneuk Nanggröe :: General Category :: Pemrograman :: PHP-
Navigasi: