Cookies dan Session
Tujuan:
- Mahasiswa mampu memahami cookies dan session
- 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
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
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:
Posting Komentar