Sederhananya, session adalah periode atau waktu ketika pengguna mulai berinteraksi dengan sistem, hingga akhirnya keluar dari sistem tersebut. Lalu apa manfaat session pada sebuah website?
Pada panduan ini, kami akan berbagi informasi tentang apa itu session hingga cara menggunakannya. Simak artikel ini sampai akhir!
Apa itu Session?
Session adalah periode waktu yang dimulai ketika seorang pengguna mulai berinteraksi dengan suatu sistem atau aplikasi, dan berakhir ketika pengguna keluar dari sistem atau aplikasi tersebut.
Selama sesi, sistem akan menetapkan sebuah “session ID” yang unik untuk mengidentifikasi pengguna yang sedang menggunakan sistem atau aplikasi.
Data session ini disimpan dalam variabel global yang dapat diakses di seluruh aplikasi web, dan dapat digunakan untuk mengidentifikasi pengguna, menyimpan preferensi, dan mempertahankan status login.
Fungsi Session
Fungsi dari session adalah untuk mempertahankan data pengguna di seluruh sesi interaksi dengan aplikasi web. Dengan session, data pengguna seperti preferensi, status login, dan riwayat belanja dapat disimpan sementara di sisi server dan diakses di seluruh aplikasi web tanpa perlu meminta pengguna untuk memasukkan informasi lagi dan lagi.
Session juga dapat digunakan untuk meningkatkan keamanan dalam sistem dan aplikasi. Dalam peran ini, session digunakan untuk memastikan bahwa pengguna hanya memiliki akses ke informasi yang sesuai dengan session ID mereka, dan tidak dapat mengakses informasi yang dimiliki oleh pengguna lain yang memiliki session ID yang berbeda.
Cara Kerja Session
Cara kerja session diawali dengan pembuatan sebuah session ID yang di-generate oleh server ketika pengguna melakukan permintaan pertama. Session ID ini akan disimpan pada cookie atau URL, kemudian akan dikirimkan kembali ke server pada setiap permintaan berikutnya.
Server kemudian akan memeriksa session ID untuk mengidentifikasi pengguna dan memuat data session yang terkait. Data session ini dapat berisi informasi seperti username, preferensi pengguna, atau status login. Data session kemudian dapat dimanipulasi pada server dan disimpan kembali.
Dengan cara ini, session memungkinkan pengguna untuk menyimpan preferensi dan informasi yang berbeda selama pengguna masih dalam sesi, menjaga keamanan sistem, memfasilitasi proses login, meningkatkan kinerja sistem, dan membantu pelacakan aktivitas pengguna.
Cara penggunaan Session PHP
Untuk menggunakan session di PHP, kita perlu melakukan beberapa hal berikut:
- Mulai session dengan memanggil fungsi session_start().
- Tambahkan data ke session dengan menambahkannya ke variabel $_SESSION.
- Akses data dari session dengan memanggil variabel $_SESSION.
Berikut adalah contoh sederhana penggunaan session di PHP:
<?php
// Mulai session
session_start();
// Tambahkan data ke session
$_SESSION['username'] = 'fat_max';
$_SESSION['is_logged_in'] = true;
// Akses data dari session
echo 'Username: ' . $_SESSION['username'];
echo 'Is Logged In: ' . $_SESSION['is_logged_in'];
?>
Pada contoh di atas, kita memulai session dengan memanggil fungsi session_start(). Selanjutnya, kita menambahkan data ke session dengan menambahkannya ke variabel $_SESSION. Pada contoh di atas, kita menambahkan data username dan is_logged_in ke session. Terakhir, kita mengakses data dari session dengan memanggil variabel $_SESSION.
Kita juga dapat menghapus data dari session dengan menggunakan fungsi unset(). Contohnya, jika kita ingin menghapus data is_logged_in dari session, kita dapat menuliskan kode berikut:
<?php
unset($_SESSION['is_logged_in']);
?>
Dengan perintah diatas, data is_logged_in akan dihapus dari session.
Contoh Penggunaan Session pada CodeIgniter
CodeIgniter adalah Framework dengan arsitektur MVC (Model View Controller) yang digunakan untuk membuat atau mengembangkan website dinamis basis PHP. Contoh kasusnya seperti ini:
Anda memiliki system pembukuan berbasis CI, dimana Anda harus melakukan login terlebih dahulu ke sistem untuk melihat daftar pembukuan dibulan ini. Pada saat Anda login, CodeIgniter akan membuat sebuah session ID yang tersimpan di file /tmp atau sesuai konfigurasi yang Anda lakukan.
Setelah Anda Logout, maka session ID tersebut dianggap berakhir dan Anda harus melakukan login ulang untuk masuk kedalam sistem. Atau Jika Anda login namun tidak melakukan kegiatan apapun di website, session Anda bisa diterminate dalam kurun waktu tertentu untuk memastikan keamanannya.
Nah, session ini bisa Anda atur dalam konfigurasi sistem di CodeIgniter. Contohnya jika Anda ingin mengatur session_expired, maka Anda bisa mengikuti panduan berikut:
- Konfigurasi session di CodeIgniter terletak pada file config.php yang berada di direktori application/config. Karena itu, silahkan Anda mengakses file config.php pada directory tersebut.
- Cari baris konfigurasi $config[‘sess_expiration’] dan ubah nilainya sesuai dengan waktu timeout yang diinginkan dalam detik. Misalnya, jika Anda ingin session timeout setelah 30 menit, Anda dapat mengatur nilainya menjadi $config[‘sess_expiration’] = 1800; (30 menit x 60 detik/menit = 1800 detik).
- Jika Anda ingin mengatur waktu timeout secara otomatis setiap kali ada aktivitas pengguna di aplikasi, Anda juga dapat menambahkan baris konfigurasi $config[‘sess_time_to_update’] = 300; untuk mengatur waktu timeout ulang setiap 5 menit (300 detik).
- Setelah perubahan dilakukan, simpan file config.php.
Selain mengatur session expired, Anda juga bisa mengatur penyimpanan file session_id pada website Anda.
Kesimpulan
Session adalah periode waktu yang dimulai ketika seorang pengguna mulai berinteraksi hingga berakhirnya interaksi pada suatu sistem atau aplikasi. Session berfungsi untuk menjaga keamanan sistem dengan cara mempertahankan data pengguna ketika login dan agar tidak dapat mengakses informasi yang dimiliki oleh pengguna lain yang memiliki session ID yang berbeda.
Demikian artikal kami tentang apa itu session, semoga bermanfaat.