Cara Membuat Security Code dengan PHP

Kali ini kita akan membahas mengenai pembuatan security code menggunakan PHP, terus apa yang dimaksut dengan security code tersebut?
Security kode  adalah suatu bentuk perlindungan terhadap suatu form dari serangan SPAM.
Sebagai contoh waktu mendaftarkan  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
——-
<form action=”action.php” method=”post”>
Pesan: <input type=”text” name=”message” /><br />
<img src=”captchasecurityimages.php?width=100&height=40&character=5? /><br />
Security Code: <input id=”security_code” name=”security_code” type=”text” /><br />
<input type=”submit” name=”submit” value=”Submit” />
</form>
——-
2. script action.php
——-
<?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<br />’;
include “form.htm”;
}
} else {
include “form.htm”;
}
?>——-
3. script captchasecurityimages.php
——-
<?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.
Sumber :
-berbagai sumber (luarnegri) dan Ilmukomputer.com
?

Fungsi Untuk Membuat Kode Acak di PHP


Biasanya fungsi ini di gunakan untuk membuat kode unik secara acak,
misalnya untuk membuat password, membuat kode transaksi, DLL.

untuk membuatnya kita menggunakan fungsi rand() pada bahasa pemrograman PHP.

Yok mari di simak bareng bareng, sekalian di praktekkan ya biar selalu ingat dan cepet bisanya. ;D

petama kita buat file php dan ketik kode berikut di file kamu.
01function password(){
02$gpass=NULL;
03$n = 6; // jumlah karakter yang akan di bentuk.
04$chr "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvqxyz0123456789@";
05for($i=0;$i<$n;$i++){
06$rIdx = rand(1,strlen($chr));
07$gpass .=substr($chr,$rIdx,1);
08}
09return $gpass;
10};
untuk menggunakanya silahkan panggil saja fungsinya:
1<?php password(); ?>
atau untuk menampilkanya dengan kode berikut:
1<?php echo password(); ?>
 
Free Website templatesfreethemes4all.comFree Blog TemplatesLast NewsFree CMS TemplatesFree CSS TemplatesFree Soccer VideosFree Wordpress ThemesFree Web Templates