Sabtu, 23 Juni 2012

Modul PHP 7


Cookies dan Session


Tujuan:
  1. Mahasiswa mampu memahami cookies dan session
  2. Mahasiswa mampu mengaplikasikan cookies dan session dalam mengamankan aplikasi webnya.

Landasan Teori

Cookies

Cookies merupan mekanisme penyimpanan variabel data dengan waktu tertentu pada sisi client (browser). Data pada cookies inilah yang pertama kali akan dikirimkan ke server, yang kemudian disimpan dalam  browser web. Cookies ini memiliki kemampuan menyimpan serta memanggil kembali data yang ada pada hard disk client.

Latihan 1:
<?php
$status =0;
if (setcookie("myTesCookies","ChocChip"));  
   $status=1;

if ($status==1)   
   {echo " Support Cookie OK……<BR>";
   echo "Cookiesnya ".$HTTP_COOKIE_VARS["myTesCookies"];
 }
else
   echo "Support Cookie Failed…";
?>

Membuat Cookies

Dalam membuat cookies yang lengkap, cara penulisannya sebagai berikut:

setcookie(string name, string value, int expire, string path, string domain, int secure);

Yang perlu diperhatikan adalah letak penulisan cookies ini, yaitu sebelum header atau sebelum <html> maupun <head>. Untuk pemanggilannya cookies, variabel yang dipanggil adalah $HTTP_COOKIE_VARS{“nama cookie”]. Variabel ini merupakan variabel bawaan dari browser.

Tampilan :

Support Cookie OK……
Cookiesnya ChocChip
Analisa :
Jika browser support cookies maka cookies dengan variable myTesCookies akan terisi dengan ChocChip, dan status diisi dengan 1, jika browser tidak dapat mengisi cookies, maka otomatis browser tidak support cookies , status tidak akan berubah, yaitu tetap 0, dan yang keluar adalah tampilan support cookies failed.

Latihan 2:
<?php
setcookie("TesCookies","ChocChip");  
?>
<html>
<body>
<h3> Demo cookies </h3>
<?php
echo “Nama cookies : $TesCookies”;
?>
</body>
</html>

Pada latihan di atas, saat program dijalankan pertama kali, cookies belum tertampil di penampil, namun setelah di refresh, cookie baru terlihat.


Tampilan :

Demo cookies

Nama cookies : ChocChip

Analisa :
Cookies dengan variable myTesCookies akan dirisi dengan ChocChip lalu ditampilkan.

Latihan3:
<?php
setcookie("TesCookies","ChocChip",time()+300);  
?>
<html>
<body>
<h3> Batas cookies </h3>
<?php
if (isset($TesCookies))
   print "<p> Haiiii…, Cookies anda adalah: $TesCookies</p>";
else
   print "<p>Haiiii…, Ini kunjungan anda yang pertama</p>";
?>
</body>
</html>

Program diatas akan mengatur batas cookies selama 300 detik atau 5 menit. Coba tutup browser anda, lalu buka kembali.

Tampilan :
A:

Batas cookies

Haiiii…, Ini kunjungan anda yang pertama Haiiii…, Cookies anda adalah:
B:

Batas cookies

Haiiii…, Cookies anda adalah: ChocChip

Analisa :
Dalam pembuatan cookies, batas waktu variabel cookies yang disimpan dalam browser dapat ditentukan batas waktunya. Sehingga meskipun browser ditutup, nilai cookies akan tetap disimpan jika sewaktu-waktu user tersebut login kembali, sampai batas waktunya habis. Program diatas akan mengatur batas cookies selama 300 detik atau 5 menit. Jika baru pertama kali membuka file latihan 3, maka yang muncul adalah tampilan A, namun jika browser ditutup dan dibuka kembali sebelum 5 menit, maka yang muncul adalah tampilan B.


Latihan 4:
<?php
setcookie("TesCookies","");  
?>
<html>
<body>
<h3> Hapus cookies </h3>
<?php
   print "<p>Haiiii…, Cookies anda adalah: $TesCookies</p>";
?>
</body>
</html>

Tampilan :

Hapus cookies

Haiiii…, Cookies anda adalah:
Analisa :

Jika browser ditutup, maka nilai cookies akan segera hilang, dengan catatan pemrogram tidak memberi batasan waktu pada pembuatan cookies. Untuk menghapus cookies, pemrogram cukup memasukkan nilai kosong pada cookies. Dampak penghapusan cookies akan terlihat saat program direfresh.


Session

Hampir sam dengan cookies, session akan hilang saat browser ditutup. Setiap pengunjung website akan diberi sebuah session pengenal, yang disebut dengan session_id.

Membuat session

Untuk membuat session, fungsi yang digunakan adalah session_start(). Perhatikan letak session disimpan. Gunakan fungsi php_info(). Cari variabel session.save_path. Direktori ini digunakan untuk menampung session yang kita buat.

Latihan 5:
<?php
session_start();  
?>
<html>
<body>
<h3> Demo Session </h3>
<?php
   print "<p>Haiiii…, Session anda adalah: " .session_id() . "</p>";
?>
</body>
</html>

Menjalankan Session secara Otomatis

Untuk dapat menjalankan session secara otomatis, file php.ini harus dirubah. Bagian yang dirubah adalah:

session.auto_start = 1 // ubah dari nilai 0 menjadi 1

Selanjutnya, session akan dijalankan otomatis saat startup.

Tampilan :

Demo Session

Haiiii…, Session anda adalah: 954983e360f5fda3ee76c598b81402d8
Analisa :
Setiap kali perintah session_start();   dijalankan maka secara otomatis session akan diberi id, namun session_start hanya perlu dijalan kan jika didalam file php.ini session.auto_start = 0.


Latihan 6:
<html>
<body>
<h3> Demo Session </h3>
<?php
   print "<p>Haiiii…, Session anda adalah: " .session_id() . "</p>";
?>
</body>
</html>


Latihan 7:
<?php
session_start();  
session_register("nama");

if (!empty($nama)) {
    echo "Haiiiii….  <b> $nama</b><br>
             Selamat Datang kembali…. <br>
            "; }
else if (empty($nama) && !isset($submit)) {
    echo "<h3> Registrasi Session </h3>";
echo "<pre>
<form action=$PHP_SELF method=post>
Nama Depan     : <input type=text name=nama_dp> <br>
Nama Belakang  : <input type=text name=nama_bl> <br>
<input type=submit name=submit value=submit>
</form>
</pre>
";}
else if (isset($submit) && empty($nama)) {
     $nama = $nama_dp ."  ".$nama_bl;
     echo "Terima kasih, $nama"; }
?>

Tampilan :
A:

Registrasi Session

 
Nama Depan     :  



Nama Belakang  :  



 
B:

Hai Albertus Andre
Selamat Datang

Analisa :

Pembuatan session sebelumnya akan menghasilkan file session dengan nama sess_nilaisession, dimana nilaisession adalah id session tersebut. Dengan menggunakan fungsi session_register(), maka PHP akan menuliskan nama variabel serta isinya pada file. Sehingga nantinya, isi file dapat dilihat(dibaca). Jika page sudah pernah dibuka, maka session telah teregistrasi, dan user tidak perlu melakukan register lagi , dan akan keluar tampilan B.


Latihan 8:
<?php
session_start();  
session_register("nama");

if (session_is_registered("nama")) {
    echo "<b>Session telah terregistrasi </b><br>";
    echo "<b>Hasil registrasi :<br><br>" .session_encode(); }
else  {
    echo "<b> Session belum terregistrasi</b>";}
?>

Analisa :
Untuk mengecek apakah suatu session sudah teregistrasi, PHP menyediakan fungsi session_is_registered().


Latihan 9:
<?php
session_start();  
session_unset();
session_destroy();
    echo "<h3> Hapus Session</h3>";}
    echo "<b> Session telah dihapus</b><br>
             <p> ID session aktif adalah :".session_id()."</p>";
?>

Analisa :
Fungsi session_destroy() digunakan untuk mengakhiri session serta menghapus semua variabel session. Sedangkan untuk menghapus semua variabel register pada session, gunakan fungsi session_unset(). Fungsi ini akan menghapus semua variabel file-file session dalam direktori sessiondata.

Tidak ada komentar: