Cara Mengatur Expired Session

Cara Mengatur Expired Session: Biar Aplikasi Tetap Aman dan Nyaman

Pernah nggak sih, lagi asyik-asyiknya belanja online, eh tiba-tiba harus login ulang? Atau kamu ninggalin laptop di kafe sebentar, dan pas balik ternyata akun udah logout sendiri? Nah, yang terakhir itu justru bagus, lho! Itu semua karena yang namanya session expiry atau masa berlaku sesi.

Session expiry itu semacam “alarm” buat aplikasi atau website. Kalau kamu lagi diam terlalu lama, sistem bakal nutup aksesmu otomatis. Tujuannya? Biar data kamu nggak gampang dibajak orang iseng. Tapi, kalau diatur terlalu cepat, kita jadi kesel sendiri karena harus login mulu. Sebaliknya, kalau terlalu lama, risikonya besar.

Nah, gimana sih cara ngatur expired session yang pas? Tenang, kita bahas santai aja.

Kenapa Sih Harus Ada Expired Session?

Bayangin kamu lagi login di warnet atau perangkat umum. Setelah selesai, kamu lupa logout. Kalau session-nya nggak kedaluwarsa, orang berikutnya yang duduk bisa langsung akses akun kamu. Serem, kan?

Intinya, session expiry itu berfungsi sebagai:
Pelindung privasi – mencegah orang lain mengakses akun kita setelah kita pergi.
Menghemat resources server – server nggak perlu nyimpen data session yang udah nggak dipakai.
Meningkatkan keamanan – kalau ada hacker yang nyuri session ID, setidaknya ID itu cuma bertahan sebentar.

Faktor yang Perlu Dipertimbangkan

Nggak ada patokan baku soal lama waktu session. Semua tergantung jenis aplikasi dan siapa penggunanya. Misalnya:

Aplikasi perbankan – biasanya super ketat, session bisa mati dalam 5–10 menit aja kalau nggak ada aktivitas.
Media sosial – lebih santai, bisa tahan berjam-jam atau bahkan beberapa hari, karena kita sering buka-tutup aplikasi.
Aplikasi kasir atau POS – harus tahan lama, soalnya kasir sibuk dan nggak mungkin login terus-terusan.

Cara Mengatur Expired Session di Sisi Developer

Kalau kamu seorang developer yang mau ngatur session expiry di aplikasi web, berikut beberapa pendekatan simpelnya:

1. Atur di Server (PHP, Node.js, Python, dll.)

Biasanya kita atur lewat konfigurasi session. Contoh di PHP:
“`php
session_set_cookie_params(3600); // 1 jam
“`
Atau di Node.js (Express) pakai library `express-session`:
“`javascript
app.use(session({
secret: ‘rahasia’,
cookie: { maxAge: 60 60 1000 } // 1 jam
}));
“`
Dengan begini, cookie session akan hangus setelah waktu yang ditentukan.

2. Atur Berdasarkan Aktivitas (Idle Timeout)

Daripada pake batas waktu tetap, lebih baik session hangus kalau user lagi nggak aktif. Misal, di aplikasi frontend, kita bisa deteksi gerakan mouse atau keyboard. Kalau udah 15 menit nggak ada klik, paksa logout.

Caranya:
– Pakai `setTimeout` di JavaScript.
– Reset timer setiap ada aktivitas.
– Kalau timer mentok, arahkan ke halaman logout.

3. Session Lifetime vs Cookie Lifetime

Ini yang sering bikin bingung. Ada dua hal:
Session lifetime – berapa lama data session disimpan di server.
Cookie lifetime – berapa lama ID session disimpan di browser.

Pastikan keduanya sinkron. Kalau cookie lebih panjang dari session, user bisa aja dapet error aneh nantinya.

4. Refresh Otomatis (Sliding Expiration)

Metode ini bikin session diperpanjang setiap kali user melakukan aktivitas. Jadi, kalau user lagi aktif, session bisa bertahan lama banget. Tapi begitu dia diem aja, session akan hangus. Cocok buat aplikasi yang butuh fokus, seperti editor dokumen online.

Tips Buat Pengguna Biar Aman

Buat kamu yang cuma pakai aplikasi, bukan developer, kamu tetap bisa “mengatur” session expiry secara nggak langsung:

Jangan centang “Ingat Saya” di perangkat umum. Fitur ini biasanya bikin session panjang.
Logout manual setelah selesai. Paling ampuh.
Atur keamanan browser. Beberapa browser punya fitur “hapus cookie otomatis saat tutup”. Aktifkan aja.
Gunakan mode pribadi/incognito kalau lagi di komputer publik. Soalnya, session bakal otomatis hilang setelah tab ditutup.

Kapan Sebaiknya Session Hangus?

Ini subjektif, tapi sebagai patokan:
Aplikasi sensitif (bank, email penting) → 5–15 menit idle.
Aplikasi standar (social media, belanja) → 30 menit – 2 jam idle.
Aplikasi yang jarang ditutup (CRM, dashboard kerja) → bisa sehari penuh, tapi dengan sliding expiration.

Kalau terlalu pendek, user bakal frustrasi. Terlalu panjang, risikonya tanggung sendiri. Jadi, balance itu kuncinya.

Penutup

Mengatur expired session itu seni sekaligus sains. Nggak boleh asal comot angka 30 menit doang, tapi harus lihat konteks. Developer perlu riset kapan user mulai “nganggur” dan bagaimana kebiasaan mereka. Sedangkan sebagai pengguna, kita bisa bantu diri sendiri dengan rajin logout dan nggak asal percaya perangkat publik.

Intinya, session yang expired itu bukan musuh, tapi teman yang jagain data kita. Jadi, jangan malas ngatur, ya!

Semoga artikel santai ini membantu kamu lebih paham soal session expiry. Kalau ada pengalaman lucu atau horror soal session ke-logout di tengah jalan, share di kolom komentar, ya! 😄

Leave a Comment

PETIR800 LOGIN PETIR800