Kullanıcılar bağlı cihazlarını nasıl yönetiyor? Oturum güvenliği.
Cihaz Listesi: Hesaba bağlı tüm cihazları görüntüleme
Aktif Oturum: Şu an hangi cihazda aktif olduğunu görme
Uzaktan Çıkış: Diğer cihazlardan oturumu kapatma
Cihaz Limiti: Premium plana göre eşzamanlı cihaz sayısı
Tek cihaz
3 cihaz eşzamanlı
6 cihaz eşzamanlı
Cihaz tanıma ve oturum yönetimi sırasında gerçekleşen teknik süreç
Kullanıcı giriş yaptığında, sistem cihazı tanımlıyor, fingerprint oluşturuyor ve eşzamanlı cihaz limitini kontrol ediyor. Her cihaz benzersiz bir kimlik ile takip ediliyor ve uzaktan oturum kapatma destekleniyor.
jenssegers/agent paketi ile User-Agent string'i parse edilir. Cihaz tipi (mobile/tablet/desktop), işletim sistemi (iOS/Android/Windows/Mac), tarayıcı (Chrome/Safari/Firefox) belirlenir.
JavaScript tarafında FingerprintJS kullanılır: ekran çözünürlüğü, timezone, dil ayarları, canvas hash, WebGL renderer bilgileri birleştirilerek benzersiz cihaz kimliği üretilir.
torann/geoip ile IP adresinden konum belirlenir (şehir, ülke). "Son giriş: İstanbul, Türkiye" gibi bilgi gösterilir. MaxMind GeoLite2 veritabanı kullanılır.
sessions tablosuna device_id foreign key eklenir. Her session bir cihaza bağlanır. Aynı cihazdan yeni session açılırsa eski session güncellenir.
$user->activeDevices()->count() ile aktif cihaz sayısı alınır. Abonelik planına göre limit (Free:1, Premium:3, Family:6) kontrol edilir. Limit aşılırsa en eski cihaz otomatik çıkış yapar.
Kullanıcı bir cihazı "Çıkış Yap" dediğinde Session::where('device_id', $id)->delete() çalışır. O cihazdaki session sonlandırılır, kullanıcı otomatik logout olur.
Model: App\Models\DeviceProfile | Frontend: public/themes/muzibu/js/player/features/device-profiler.js