Apa itu Session ID?

Session ID, atau dikenal juga sebagai session token, adalah pengenal unik yang diberikan oleh web server ke pengguna selama sesi aktif berlangsung. Sesi di sini maksudnya adalah periode interaksi terbatas antara klien (misalnya browser) dengan server. Sesi ini dipakai untuk mengelola proses yang saling berkaitan, misalnya pas pengguna lagi login atau belanja online. Nah, Session ID penting banget karena jadi “kunci” agar semua proses selama sesi itu bisa nyambung dan konsisten.

Web server butuh sesi dan Session ID karena mereka biasanya berkomunikasi lewat HTTP atau HTTPS, yang sifatnya stateless alias tiap permintaan itu berdiri sendiri. Artinya, server nggak otomatis “ingat” permintaan sebelumnya, meskipun dari pengguna dan perangkat yang sama.

Nah, Session ID membantu menghubungkan semua permintaan itu jadi satu alur yang utuh. Contohnya: saat isi form yang halamannya banyak atau waktu kita tambah-tambah barang ke keranjang di toko online.

Biasanya, Session ID disimpan sebagai cookie di browser pengguna. Cookie ini cuma sedikit data yang nyimpen info tentang sesi, user, atau aktivitasnya. Cookie untuk session ID biasanya dihapus otomatis begitu sesi selesai, meskipun ada juga yang di-set supaya kedaluwarsa di waktu tertentu.

Kalau cookie di-disable di browser, Session ID bisa disisipkan langsung ke dalam URL. Tapi metode ini kurang aman karena rawan dibajak, dan juga bisa bikin hasil indeks mesin pencari jadi aneh. Alternatif lain adalah menyimpan Session ID dalam elemen tersembunyi di form HTML, tapi pendekatan ini juga punya batasan.

Bagaimana Session ID Bekerja?

Dulu, beberapa server web bikin Session ID dengan cara menaikkan angka statis secara berurutan. Tapi metode ini gampang banget ditebak oleh hacker. Sekarang, server biasanya pakai algoritma khusus yang menghasilkan Session ID yang lebih panjang dan kompleks—pakai kombinasi alphanumeric, simbol, bahkan tanggal dan waktu.

Secara umum, proses pemberian Session ID ke setiap sesi pengguna itu kurang lebih seperti ini:

  1. Pengguna terhubung ke website melalui server HTTP. Setelah koneksi berhasil diverifikasi, server bikin sesi antara browser dan website. Kadang, sesi baru dibikin setelah pengguna login.
  2. Server menyimpan info sesi di data store seperti file system atau database. Server juga bikin Session ID dan mengirimkannya ke browser, biasanya disimpan sebagai cookie.
  3. Untuk setiap permintaan selanjutnya, browser akan mengirimkan Session ID tersebut ke server. Dengan begitu, server bisa “ingat” semua data dari sesi yang sedang berjalan.
  4. Server memverifikasi Session ID tersebut setiap kali ada permintaan baru. Kalau ID valid, maka permintaan diproses.
  5. Sesi diakhiri, dan Session ID menjadi tidak valid. Ini bisa terjadi kalau pengguna logout, browser ditutup, atau sesi kadaluarsa karena tidak aktif terlalu lama.
diagram showing the process of assigning a session ID
Lima langkah dalam proses pemberian Session ID.

Meskipun proses dasar pemberian Session ID hampir sama, tiap situs bisa punya kebijakan yang berbeda dalam hal memperbarui atau mempertahankan ID tersebut. Ada yang bikin Session ID baru setiap kali pengguna buka ulang situs (terutama kalau browser ditutup sebelumnya). Ada juga yang pakai ulang Session ID selama cookie-nya masih aktif. Di sisi lain, ada juga situs yang bakal ganti Session ID setiap kali login ulang atau setelah sesi tidak aktif beberapa menit.

Session ID bukan jaminan komunikasi yang aman antara browser dan server. Justru kalau implementasinya nggak aman, Session ID bisa jadi celah keamanan. Hacker bisa membajak sesi dengan cara mencuri ID-nya lalu menyamar sebagai pengguna sah.

Makanya, developer dan admin web harus benar-benar teliti dalam mengelola Session ID—mulai dari pembuatannya yang acak dan kompleks, hingga penyimpanan dan transmisi yang aman.

Pelajari juga cara mengenkripsi dan mengamankan website dengan HTTPS serta cari tahu apakah URL panjang lebih baik daripada URL pendek.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *