Cara penerapan Session untuk Security (PHP)

Berikut akan kita bahas bagaimana cara menerapkan Session untuk Security:
  • Pada contoh sebelumnya, ketika membuat aturan bahwa untuk dapat mengakses sebuah halaman, user harus terlebih dahulu melakukan login. Dari script yang dibuat sebelumnya, seorang user bisa saja langsung melakukan by pass ke beberapa halaman tersebut tanpa login terlebih dahulu. Tentu saja hal ini bisa berbahaya untuk aplikasi multiuser yang harus menjamin keamanan data dari para usernya.
  • Untuk mencegah proses by pass tersebut, dapat kita atasi dengan menggunakan session. Logikanya adalah, apabila user melakukan login, maka nama user yang dia masukkan akan disimpan dalam session. Sedangkan apabila ada seorang user yang mencoba mem by pass, maka dengan kata lain username tidak akan disimpan dalam session (session untuk user masih kosong), dengan catatan bahwa user lain yang sebelumnya login harus sudah me-logout. Dari hal ini, kita dapat melakukan cek apakah seorang user sudah melakukan login atau belum dengan melihat session, masih kosong atau tidak.
  • Untuk melihat sebuah session masih kosong atau tidak dengan menggunakan perintah:
isset($_SESSION['nama_session'])
Keterangan:
Perintah di atas akan menghasilkan nilai TRUE apabila session sudah tidak kosong, dan akan menghasilkan nilai FALSE apabila session masih kosong.
Contoh:
  • Form.php
<form action=submit.php method=post>
Username <input type=text name=username><input type=submit name=submit
value=Submit>
</form>
  • Submit.php
<?
$username = $_POST[‘username’];
echo “Nama user Anda adalah: $username<br><br>”;
echo “<a href=hal1.php>Halamanku</a>”;
?>
  • Cek.php
<?
session_start();

if (!isset($_SESSION['namauser']))
{

}
echo "Anda belum login"; exit;
?>
  • Hal1.php
<?
session_start();
include "cek.php"; echo "Ini adalah halaman saya<br>";
echo "Username anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Halamanku</a>";
?>    
Selanjutnya kita akan membahas bagaimana cara membuat Cookies di PHP.

No comments:
Write komentar