Home > Menengah > Web Development > Tutorial PHP > Membuat Security Code | Security Image | Anti Spam

.

3 Komentar Untuk Artikel Ini BYAdmin Ilmuwebsite

Hai… selamat siang semuanya,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
——-
?? ?<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)

Download Ebooknya disini -> Download Ebook Tutorial PHP

DVD Video Tutorial : Kursus Web Development Komplit Bangun 5 Project Aplikasi Website - Membuat CMS Sendiri Dari Nol, Blog, Portal Berita, Ecommerce, Web Komunitas dengan CodeIgniter 3 JQuery AJAX Bootstrap

Video Tutorial Kursus Web Development Komplit Bangun 5 Project Website ini merupakan ‘penunjuk arah’ agar Anda yang sedang maupun baru akan terjun ke dalam dunia web development yang lebih mendalam memiliki peta perjalanan pembelajaran yang lebih terarah menuju web developer professional. (Disertai pembelajaran dasar HTML CSS, JQuery, PHP & MySQL, CodeIgniter) Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0813 1167 5785, atau bisa pesan secara online di sini)



3 Response untuk Artikel Ini

  1. Kumara

    Artikelnya Sangat berguna banget Mas, Saya pengen buat anti spam itu Mas, Jengkel saya dngan spam.


  2. eva triani

    wah… isinya bermanfaat sekali. terimakasih atas semuanya…:)


  3. teguh

    moga2 ilmunya bermanfaat bwt org bnyk mas, tq. mga dpt phala yg stimpal.
    “sebaik2nya manusia adalah manusia yg bisa berguna bwt orang lain”


eXTReMe Tracker