Session Mis-Management Bug

     

Live Chat Support

Suatu hari, saya menggunakan aplikasi berbasis web yang memiliki fitur live chat. Awalnya saya login menggukan akun A. Lalu saya logout, dan mengganti jadi akun B. Setelah itu saya meminta live support untuk mengubah detail akun B. Namun, fitur chat support menganggap saya sedang login menggunakan akun A.

Hal ini mungkin saja terjadi, ketika user logout pada aplikasi tapi sesi live chat-nya tidak diganti karena kebanyakan live chat menggunakan 3rd party application yang di-embed pada web application, sehingga session management-nya berbeda.

Cara mengatasinya, ketika ada perubahan session di aplikasi, trigger suatu perintah untuk ganti / unset session di live chat-nya juga.

Account’s Form

Misalkan User membuka Form X yang harus ia isi dengan menggunakan akun A. Namun, karena dia agak bingung untuk mengisinya, ia logout lalu meminjam akun B dari temannya. Ia pun membuka Form X milik akun B di satu tab browser, lalu logout, dan login lagi menggunakan akun A. Ia pun melengkapi form X. Namun, setelah kira-kira setengah jam mengisi form X, ia mengirimkan form X pada kedua tab. Dan anehnya, form X yang tersave di akun B adalah yang diubah oleh akun A.

Cara mengatasinya, ketika submit form harus dibaca session siapa yang mengirim-nya. Cara lainnya, menggunakan CSRF token yang dinamis per user dan direset ketika logout.