Menu

Detail Artikel

Home/ Web Design/Detail Artikel

Simpel Code Keamanan(Anti Spam) pada Formulir yang ga bikin pusing

kali ini saya coba share sedikit artikel yang sebenarnya sudah banyak sekali yang membahas tentang ini, dan salah satunya di website FR-SYSTEM sendiri sudah pernah menuliskan artikel tentang security code menggunakan captcha. berhubung karena ada yg merequest via Yahoo messenger untuk minta dibuatkan Security Code yang berbentuk text,bukan gambar atau sebagainya,maka saya buatkan artikel ini untuk mas Yandalive Hell yg sudah request dan untuk pengunjung lain yang ingin menambah ilmu pengetahuan tentang pemrograman website, khususnya PHP dan mysql.

Security Code biasanya digunakan pada sebuat website untuk mengamankan sebuah formulir inputan, seperti bukutamu, shoutbox, comentar artikel, login, dan lain-lain sesuai dengan yang diinginkan, tujuannya adalah agar pengunjung yang mengisi formulir tersebut benar-benar manusia bukan mesin/spam. dan security code keamanan yang sudah sangat populer sering disebut dengan Chaptca code. namun terkadang bagi orang awam atau orang yang sudah terbiasa menggunakan internet, terkadang terkendala masalah text/code keamanan yang ditampilkan pada sebuah formulir dengan menggunakan chaptca, karena biasanya code yang tampil berbentuk gambar dengan bertuliskan karakter huruf atau angka tetapi tulisannya miring-miring, kadang ga tau ga jelas.

ada juga versi code keamanan dengan menggunakan perhitungan misal nilai a + nilai b hasilnya berapa, dan ada juga menuliskan code keamanan menggunakan nama-nama pemain bola seperti yang pernah saya baca di salah satu website indonesia , dan masih banyak lagi versi-versi yang lainnya, yang bisa anda dapatkan dengan search di google. mungkin sudah cukup basa-basinya, kita langsung aja ke intinya


Yang pertama silahkan anda buat database terlebih dahulu, jika sudah ada boleh gunakan yang sudah ada,dan selanjutnya buat tabel di database dengan rincian di bawah ini :
nama tabel : formulir
Nama Field Tipe dan Panjang Keterangan
kdformulir INT (11) Auto_Increment, Primary Key, Not Null
nama Varchar (35) Null
komentar Varchar(255) Null

jika sudah, silahkan anda buat file-file di bawah ini :
nama file : koneksi.php

<?
$koneksi=mysql_connect("localhost","root","") or die ("Gagal terhubung ke server DB");
mysql_selet_db("nama_db_anda",$koneksi) or die("Gagal Mengambil Database");
?>

Nama File : code_keamanan.php
  <?
$nomor = '1234567890';
$huruf_kecil = 'abcdefghijklmnopqrstuvwxyz';
$huruf_besar = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; // nomor, huruf_kecil, huruf_besar adalah code yang akan ditampilkan di layar secara acak
$acak = $nomor.''.$huruf_kecil.''.$huruf_besar; // dari ke 3 code diatas di gabung menjadi 1, menjadi variabel $acak
$acak = str_shuffle($acak); //setelah digabung,kita manfaatkan str_shuffle untuk mengacak code diatas.
$acak = substr($acak,0,5); // setelah code diatas diacak, maka kita gunakan perintah substr($acak,0,5) maksudnya kita akan mengambil dari karakter ke 0 dan maksimal karakter yang akan di tampilkan hanya 5
$_SESSION['cacak']=$acak; // $_SERVER['caca']; fungsinya code yang sudah diambil sebanyak 5 karakter disimpan ke dalam SESSION untuk perbandingan data yang diinput dan data yang ada di session nantinya
?>
<font size="+1"><?=$acak?></font>
<input type="hidden" name="acak" value="<?=$acak?>" id="nomor">
<input name="nomor" type="text" class="textfield"  id="input" size="5">

Nama File : formulir.php
  <?
  session_start(); 
  require "koneksi.php";
  //ambildata dari Formulir
  $proses=$_GET['proses'];
  $nama=$_POST['nama'];
  $komentar=$_POST['komentar'];
  $cacak=$_SESSION['cacak'];
  $acak=$_POST['acak'];
  if($proses=='simpan'){ // jika formulir di jalankan, atau tombol submit di tekan maka logika $proses==simpana akan aktif, proses=simpan di ambil dari <form name="form1" method="post" action="?proses=simpan">
  
if(($cacak==$_POST['nomor'])&&!empty($acak)){ // jika code yang ditulis dari formulir($acak) = code yang ada di session ($cacak) dan $acak tidak kosong maka proses simpan dijalankan, jika tidak muncul keterangan Maaf, security code salah
$simpan=mysql_query("INSERT INTO formulir VALUES ('','$nama','$komentar')");
// jika logika untuk $simpan, jika $simpan berhasil maka muncul selamat, jika gagal muncul maaf
if($simpan){
echo "<script language='JavaScript'> alert ('Selamat, Pesan Berhasil disimpan') </script>";
} else{
echo "<script language='JavaScript'> alert ('Maaf, Pesan gagal disimpan') </script>";
}
// unset untuk Menghapus Session Security Code yang telah ditampilkan
unset ($_SESSION["cacak"]);
} else {
echo "<script language='JavaScript'> alert ('Maaf, Scurity Code salah, Coba Kembali') </script>";
}
}
?>
<form name="form1" method="post" action="?proses=simpan">
<table width="546" border="0" cellpadding="3" cellspacing="1">
<tr>
<td colspan="2" bgcolor="#00CCFF">&nbsp;</td>
</tr>
<tr>
<td width="155" bgcolor="#D5F7FF">Nama</td>
<td width="375" bgcolor="#F4FDFF"><input type="text" name="nama" id="nama"></td>
</tr>
<tr>
<td bgcolor="#D5F7FF">Komentar</td>
<td bgcolor="#F4FDFF"><textarea name="komentar" cols="35" rows="5" id="komentar"></textarea></td>
</tr>
<tr>
<td bgcolor="#D5F7FF">Kode Keamanan</td>
<td bgcolor="#F4FDFF"><? require "code_keamanan.php";// berfungsi untuk menyisipkan code keamanan pada formulir ?></td>
</tr>
<tr>
<td bgcolor="#D5F7FF">&nbsp;</td>
<td bgcolor="#F4FDFF"><input type="submit" name="button" id="button" value="Submit">
<input type="reset" name="button2" id="button2" value="Reset"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#00CCFF">&nbsp;</td>
</tr>
</table>
</form>

silahkan anda ketikkan script diatas, untuk penjelasan bisa dilihat dikomentar pada script diatas.

Artikel Lainnya

Komentar Anda

pFwh5

0 Komentar

komentar masih kosong

Produk Kami

Popular Post

Facebook Page

Statistik Pengunjung

  • Hari ini
    :
    365
  • Kemarin
    :
    1467
  • Bulan ini
    :
    13766
  • Tahun ini
    :
    45973
  • Total
    :
    2260074
  • Hits Count
    :
    3349547
  • Now Online
    :
    1 User