KEAMANAN APLIKASI WEB


1.         PENYANDINGAN DATA
  1. Hashing
Hashing merupakan metode untuk mengubah sebuah string atau data dalam sebuah kode yang ditujukan untuk merahasiakan data dan berjalan dalam 1 arah. Artinya kita tidak dapat melihat nilai atau data aslinya, kecuali dengan mencocokan data antara karakter yang sudah di hashing dengan karakter yang sudah di hashing lainnya. Terdapat beberapa algoritma populer yang sering dipakai pada hashing, seperti MD5, SHA1, dan Whirlpool. Berikut adalah contoh menggunakan hashing dengan beberapa algoritma di PHP.
<?php
echo hash('sha1', 'mari belajar pemrograman');
echo hash('md5', 'mari belajar pemrograman');
echo hash('whirlpool', 'mari belajar pemrograman');
?>
  1. Enkripsi
Enkripsi merupakan sebuah metode untuk merahasiakan data sehingga kita tidak akan bisa membaca nilai atau data aslinya tanpa menggunakan key atau kunci. Contoh algoritmanya adalah blowfish.Berikut adalah contoh penggunaan enkripsi dan dekripsi dengan menggunakan blowfish.
<?php
function encrypt($string, $key) {
   $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
   $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, utf8_encode($string), MCRYPT_MODE_ECB, $iv);
   return $encrypted_string;
}

function decrypt($encrypted_string, $key) {
   $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
   $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
   return $decrypted_string;
}
?>

2.      VALIDASI INPUT ALFA NUMERIK USER

Validasi adalah suatu upaya untuk mencocokkan sebuah data dengan kententuan yang telah di tetapkan dengan tipe data yang berupa teks seperti huruf (A-Z, a-z), symbol((*, ^, $, %, #, @, dll), Angka(0-9). Dibawah ini contoh source code
<form name="myform" action="" method='POST'  >
Nama
<input type="text" name="nama" id='nama'><br/>
EMail
<input type="text" name="email"><br/>
Umur
<input type="text" name="umur"><br/> 
Jenis kelamin
<input type='radio' name='jk' value='P'>Pria
<input type='radio' name='jk' value='W'>Wanita<br/>
Propinsi 
<SELECT name="propinsi">
<option value="0" selected>--pilih provinsi--</option>
<option value="1" >Jawa Tengah</option>
<option value="2" >Jawa Timur</option>
<option value="3" >Jawa Jawa Barat</option>
</SELECT>
<br/>     
<div id='myform_errorloc' style='color:red'>
</div>
<br/>
<input type="submit" value="Submit">
</form>
Dibawah ini adalah source kode untuk javascript
<script language="JavaScript" type="text/javascript">
//You should create the validator only after the definition of the HTML form
  var frmvalidator  = new Validator("myform");
 frmvalidator.EnableOnPageErrorDisplaySingleBox();
 frmvalidator.EnableMsgsTogether();
  
  frmvalidator.addValidation("nama","req","Nama belum di isi");
  frmvalidator.addValidation("nama","maxlen=20","nama Maximal  20");
  frmvalidator.addValidation("nama","alpha_s","Nama tidak boleh mengandung angka atau symbol");

  frmvalidator.addValidation("email","req");
  frmvalidator.addValidation("email","email","email tidak valid");
   
  frmvalidator.addValidation("umur","req");
  frmvalidator.addValidation("umur","numeric");
  frmvalidator.addValidation("umur","gt=12","umur minimal harus 13");
   
  frmvalidator.addValidation("jk","selone","anda belum memilih jenis kelamin");
  frmvalidator.addValidation("propinsi","dontselect=0","Anda belum memilih propinsi");
</script>

3.      VALIDASI INPUT  NUMERIK USER
Validasi adalah suatu upaya untuk mencocokkan sebuah data dengan kententuan yang telah di tetapkan dengan tipe data Numerik. Dalam konteks ini, validasi yang di maksudkan adalah validasi yang berada pada sebuah halaman web lebih tepatnya lagi pada form input data sebelum berhahsil di proses. Validasi pada sebuah form berguna untuk mencegah data yang tidak sesuai dengan ketentuan. Misalkan saja form yang harus di isi adalah form no telp. Contoh
<html>
<head>
<title>Validasi Angka PHP</title>
<meta content="validasi angka php" name="description">
<meta content="validasi,angka,php" name="keyword">
<head>
<body>
<center>
<h3>DEMO VALIDASI ANGKA PHP</h3>
<form action="" method="POST">
NOMOR HP
<input type="text" name="nomor_hp">
<input type="submit" name="submit">
</form>
<?php
if(isset($_POST[‘submit’])){
if(empty($_POST[‘nomor_hp’])) {
$hp = ‘NO HP tidak boleh kosong’;
} else if(!is_numeric($_POST[‘nomor_hp’])) {
$hp = ‘NO HP harus angka’;
} else if(strlen($_POST[‘nomor_hp’]) != 12) {
$hp = ‘NO HP harus berjumlah 12 angka’;
} else {
$hp = ‘NO HP berhasil di input’;
}
echo $hp;
}
?>
</center>
</body>
</html>
Pustaka


1 Response to "KEAMANAN APLIKASI WEB"

  1. Harrah's Cherokee Casino & Hotel - MapyRO
    Get directions, reviews 서귀포 출장안마 and 속초 출장샵 information for Harrah's Cherokee Casino 당진 출장안마 & Hotel in 정읍 출장샵 Cherokee, NC. Located 양주 출장안마 in the heart of the Great Smoky Mountains of Western North Carolina. Rating: 7.2/10 · ‎8 votes

    BalasHapus