Pengertian Cookie Dan Session Berserta penggunaannya
Pendahuluan :Dalam sebuah website biasanya user haya memasukkan password/ login sekali saja, namun mampu masuk ke halaman lain tanpa login lagi. Informasi atau data login user tersebut mampu disimpan dan digunakan kembali sehingga mampu memaksimalkan kinerja dan efektifitas suatu website. Kemampuan rmengingat informasi tersebut dapat kita sesuaikan waktunya sesuai dengan keinginan programmer/ pemilik website. Fasilitas session dan cookie ini juga mampu meningkatkan keamanan dari website sendiri, karena waktu pengaksesan user/ client dapat ddibatasi, sehingga jika waktu session habis, user atau client dapat memperpanjang waktu session atau mangakhiri session.
MATERI
A.Cookie
Pengertian Cookie Dan Session Berserta penggunaannya
cara kerja cookies
Cookies atau bisa disebut HTTP cookies, web cookies, atau browser cookies adalah data atau informasi yang diciptakan oleh suatu website untuk disimpan di web browser, ketika user sedang menjelajahi website tersebut. Cookies yang telah disimpan pada browser bisa iambil untuk memberitahu website tentang aktifitas user pada waktu sebelumnya. Aktivitas tersebut misalnya mengklik suatu tombol, login, atau halaman mana yang telah dibuka user pada bulan lalu bahkan tahun lalu. Berdasarkan sifat yang telah di uraikan diatas.Fungsi cookies dapat digunakan untuk :
1.Menyimpan username dan password login agar pengguna tidak selalu harus mengisikannya pada saat membuka page (halaman web). Biasanya akan muncul chechbox "Remember Me" atau "Ingat Saya Selalu" yang terdapat pada bagian bawah box login.
2.Merekam daftar barang yang ingin dibeli pengunjung
3.Untuk mencatat konfigurasi yang dilakukan oleh user. Seperti: warna tema, jenis huruf, pilihan bahasa, dll.
4.Menciptakan suatu sesi yang memungkinkan seseorang dapat masuk ke halaman-halaman lain tanpa perlu melakukan login kembali.
5.Untuk mengetahui apakah pengunjung pernah datang atau belum ke halaman yang sedang dibuka (seperti yang digunakan pada hit counter /penghitung jumlah pengunjung pada blog).
Cookies mempunyai umur, artinya adalah setiap data yang kita simpan dalam komputer user suatu saat bisa hilang atau musnah. Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user.
Jenis-jenis cookies diantaranya :
1. Non persistent (session) cookies. Suatu cookie yang akan hilang sewaktu user menutup browser dan biasanya digunakan pada ‘shopping carts’ di toko belanja online untuk menelusuri item-item yang dibeli,2. Persistent cookies. Diatur oleh situs-situs portal, banner / media iklan situs dan lainnya yang ingin tahu ketika user kembali mengunjungi site mereka. (misal dengan cara memberikan opsi ”Remember Me” saat login). File file ini tersimpan di hardisk user.
Kedua tipe cookies ini menyimpan informasi mengenai URL atau domain name dari situs yang dikunjungi user dan beberapa kode yang mengindikasikan halaman apa saja yang sudah dikunjungi. Cookies dapat berisi informasi pribadi user, seperti nama dan alamat email, Akan tetapi dapat juga user memberikan informasi ke website tersebut melalui proses registrasi. Dengan kata lain, cookies tidak akan dapat “mencuri” nama dan alamat email kecuali diberikan oleh user. Namun demikian, ada kode tertentu (malicious code) yang dibuat misalnya dengan ActiveX control, yang dapat mengambil informasi dari PC tanpa sepengetahuan user.
Cookies umumnya kurang dari 100 bytes sehingga tidak akan mempengaruhi kecepatan browsing. tetapi karena umumnya browser diatur secara default untuk menerima cookies maka user tidak akan tahu bahwa cookies sudah ada di komputer. Cookies dapat berguna terutama pada situs yang memerlukan registrasi, sehingga setiap kali mengunjungi situs tersebut, cookies akan me-login-kan user tanpa harus memasukkan user name dan password lagi. Suatu server hanya dapat menyimpan 20 cookies pada browser pemakai, masing-masing cookies berukuran terbatas sampai sebesar 4 KB.
Cara Deklarasi Cookies Dalam PHP :
Cookies harus dideklarasikan sebelum halaman ditampilkan, yang artinya dituliskan sebelum <html>. Secara mendasar untuk membuat sebuah cookies ditulis dengan susunan, sbb:Kemudian dalam implementasinya dapat kita tuliskan, sbb:
<?php
$nilai = 'Martabak Mesir';
// Cara Pertama
setcookie("Enak", $nilai);
// Cara Kedua
setcookie("Enak", $nilai, time()+3600); /* Berlaku Satu Jam */
// Cara Ketiga
setcookie("Enak", $nilai, time()+3600, "/Nama Folder/", "martabakmesirmaknyosselalusihati.com");
?>
Dan untuk mengambil nilai dari cookies dapat dilakukan dengan cara, sbb:
<?php
$enak = $_COOKIE["Enak"];
echo $enak;
?>
Sedangkan, untuk menonaktifkan cookies yang sudah dibuat dapat dilakukan dengan perintah, sbb:
<?php
// Mengubah nilai waktu menjadi mundur
setcookie("Enak", "", time()-3600);
?>
B. Session
Session adalah salah satu fasilitas yang ada pada PHP yang digunakan untuk menyimpan data sementara ke dalam variabel (variabel session) sehinga data tadi dapat di akses oleh client selama variabel session tadi tidak di kosongkan atau dihilangkan. Nilai variabel di dalam session di simpan di sisi server (web server). Berbeda dengan cookies yang nilai variabelnya disimpan di sisi client (browser). Jadi session relatif lebih aman digunakan untuk menyimpan variabel nilai yang bersifat rahasia seperti username dan password pada saat login. Kegunaan session diantaranya untuk menyimpan informasi login yang berlaku hanya dalam satu sesi dan menyimpan catatan order barang dalam sistem e-commerce/transaksi onlineBeberapa fungsi-fungsi session PHP, diantaranya:
1. Mengawali Session
Digunakan untuk membuat sebuah session atau melanjutkan session sebelumnya berdasarkan pada pengidentifikasi session via GET atau POST atau cookie. Menunjukkan bahwa suatu halaman menggunakan session maka pada awal halaman harus ada awal session yaitu dengan session_start ( ) atau session_start;<?php
session_start;
?>
2. Penggunaan Variabel Session
Setelah session dimulai maka variabel session sudah dapat mulai digunakan. Penggunaannya menggunakan format $_SESSION[‘nama_variabel’]. Setiap halaman yang menggunakan variable session harus mendelarasikan kode diatas, agar dapat menggunakannya. Setelah itu baru kita bisa membuat nama session baru, sbb:<?php
$_SESSION['Try'] = "OKESIP";
?>
Session dengan nama Try akan dapat kita gunakan dalam sebuah page dengan cara, sbb:
<?php
echo $_SESSION['Try'];
?>
3. Menghapus Session
Setelah variabel session digunakan, variabel tersebut dapat dihapus. Banyak cara untuk menghapus session di antaranya sebagai berikut:1. $_SESSION[‘nama_variabel’] = ” ” untuk memberikan atau mengganti nilai dari variabel session menjadi null atau kosong.
2. unset ($_SESSION[‘nama_variabel’]) untuk menghapus sebuah variabel session.
<?php
// Untuk menghapus session tertentu
unset($_SESSION['Try']);
3. session_destroy() untuk menghapus semua variabel session yang mungkin ada banyak variabel session yang dibuat. Fungsi session destroy tidak memerlukan argumen dalam penggunaanya.
// Untuk menghapus semua session
session_destroy;
?>
C. Cache
Cache yaitu suatu tempat untuk menyimpan sesuatu secara sementara, mekanisme untuk mempercepat transfer data dengan cara menyimpan data yang telah di akses di suatu buffer, dengan harapan jika data yang sama akan diakses, akses akan menjadi lebih cepat. Dalam Internet sebuah proxy cache dapat mempercepat proses browsing dengan cara menyimpan data yang telah diakses di komputer yang berjarak dekat dengan komputer pengakses. Jika kemudian ada user yang mengakses data yang sama, proxy cache akan mengirim data tersebut dari cache-nya, bukan dari tempat yang lama diakses. Dengan mekanisme HTTP, data yang diberikan oleh proxy selalu data yang terbaru, karena proxy server akan selalu mencocokkan data yang ada di cache-nya dengan data yang ada di server luar.Terminologi Hardware
Istilah ini biasanya merujuk pada memory berkecepatan tinggi yang menjembatani aliran data antara processor dengan memory utama (RAM) yang biasanya memiliki kecepatan jauh lebih rendah. Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network)
Cache berasal dari kata cash, dipergunakan untuk meningkatkan kecepatan transfer data baik secara sementara maupun permanent.
D.Cara Kerja Cookies dan Session
Saat pengunjung mengakses suatu halaman, pengunjung tersebut memulai session (digunakan fungsi session_start()). Bila dalam konfigurasi php, session.auto_start diset ke 1 maka php akan melakukan start session secara otomatis.
Pengunjung tadi kemudian diberi pengenal berupa session id, Session id ini adalah rangkaian karakter yang unik, misalnya 12345678xx.. Bersamaan dengan itu, pada sisi server juga dibuat file ses_12345678xx yang berisi variabel-variabel session milik si pengunjung. Variabel yang diregister dengan fungsi session_register() akan disimpan dalam file ini.
Metode di atas adalah default. Sebenarnya anda juga bisa menentukan lokasi penampungan variabel session anda sendiri, misalnya di database. Selanjutnya, saat pengunjung memulai atau melanjutkan session (melalui session_start()) maka dia tinggal mengirim session id-nya untuk memperoleh kembali variabel-variabel session miliknya yang telah disimpan di server.
Pengiriman session id ke server bisa melalui 2 cara. Yang pertama, yaitu cara default, dikirim melalui cookies. Session id berupa cookie PHPSESSID (default). Ada kalanya dengan alasan tertentu, si pengunjung menonaktifkan cookies (bisa dilakukan melalui setting browsernya). Bila hal ini terjadi, maka pengiriman session id dilakukan dengan cara kedua, yaitu melalui query string (string yang ditambahkan ke URL, seperti contoh di awal artikel).
Session akan berakhir saat fungsi session_destroy() dipanggil atau sewaktu user menutup web browsernya. Dari cara kerja session tadi, terlihat bahwa yang menjadi kunci pegangan si pengunjung (di sisi client) hanyalah variabel session id, sedangkan variabel-variabel lain miliknya di server. Adanya fasilitas session handling di PHP menjadikan proses diatas menjadi sederhana dan mudah karena PHP melakukannya otomatis untuk anda.
Perbedaan Antara Session dan Cookies
Definisi
- Session: Session adalah pertukaran informasi sementara dan interaktif antara dua atau lebih perangkat komunikasi atau antara komputer dan pengguna.
- Cookies: Cookies adalah bagian kecil data yang dikirim dari situs web dan disimpan di komputer pengguna oleh browser web pengguna saat pengguna sedang menjelajah.
Metode Penyimpanan
- Session: Session disimpan di sisi server.
- Cookies: Cookies disimpan di browser klien sebagai file teks.
Jumlah Data
- Session: Session dapat menyimpan sejumlah besar data.
- Cookies: cookies dapat menyimpan sejumlah data minimum.
Keamanan
- Session: Session memberikan keamanan lebih karena sulit untuk mengakses nilai session.
- Cookies: Cookies memberikan keamanan minimum karena lebih mudah untuk mengakses nilai-nilai cookies.
Menghapus
- Session: Pengguna harus menutup browser untuk menutup session karena session ini tersedia sampai browser dibuka.
- Cookies: Cookies menyimpan informasi sampai dihapus oleh pengguna atau diatur sesuai pengatur waktu.
Memegang Berbagai Variabel
- Session: Session memegang beberapa variabel.
- Cookies: Cookies tidak.
Keandalan
- Session: Session lebih dapat diandalkan, karena data session disimpan di server.
- Cookies: Cookies tidak dapat diandalkan, karena data cookies tidak tersimpan di server.