Her CMS de olması bunu yapamayacağımız anlamına gelmez ki. Her ne kadar tam olarak ne işe yarayacak, amaç nedir anlamasam da, arkadaşın vardır bir bildiği.
Belki benim gibi sırf aklına birşey geldi diye benim gibi günlerce boşa uğraşmayı seviyordur
Basit olması açısından bir session tablosu oluştururuz. Kullanıcı bir tarayıcıdan oturum açtığında tablodaki is_online = 1 olmuş olsun. Oturum açma sayfamızda is_online değerini kontrol edelim ve sadece is_online = 0 ise oturum açmaya izin verelim. Bu mantık ile kullanıcı "oturum kapat" butonuna basıp, is_online = 0 durumuna getirmedeği sürece başka bir tarayıcıdan oturum açamaz. Yanına user_agent, çerez gibi birkaç ufak önlem de ekleriz.
Bir de "kullanıcı 'oturum kapat' butonuna basmadan tarayıcıdan ayrılırsa, tarayıcıyı kapatırsa" kapatırsa ihtimali var. Bunun için de oturum sınırı koyabiliriz. Örneğin kullanıcı "beni hatırla" kutusunu işaretlemeden oturum açarsa x süre birşey yapmadığında veya tarayıcı kapattığında oturumunu otomatik kapatalım. Burada "beni hatırla" olayı biraz çıkmaza giriyor gibi. Normal şartlarda "beni hatırla" seçip oturum açılırsa, tarayıcıyı kapatsa bile oturum hemen sonlanmaz, ancak "beni hatırla" olayının da belli bir süresi olabilir.
Ancak bu mantığı kurdum, uygulama yapmadan muhakkak arada ufak pürüzler çıkacaktır. Pürüzleri yok etmek için bunu uygulamaya dökmek lazım. Hazır kod istemeyin, kendiniz bir mantık oluşturun ve kodlamaya başlayın. Düzelte düzelte başarabilirsiniz. Çok karışık durumlarda da diyagram kullanabilirsiniz.