Sisteme giren herkes gerçekten o kişi mi?
Sisteme giriş yapan herkesin gerçekten o kişi olup olmadığını kontrol ediyoruz. E-posta ve şifre kombinasyonu, şifre sıfırlandı mı, hesap bloklandı mı... Hepsi kontrol edilir.
E-posta ve şifre girilir, form gönderilir.
Girilen şifre bcrypt ile hashlenip veritabanındaki ile karşılaştırılır.
Google Authenticator veya SMS ile 6 haneli kod istenir.
Session token oluşturulur, cihaz kaydedilir.
Kullanıcı ana sayfaya yönlendirilir, "Hoş geldiniz" mesajı gösterilir.
5 yanlış deneme sonrası hesap 15 dakika kilitlenir.
Kullanıcılar → Tüm Kullanıcılar
Kullanıcılar → Detay → Doğrulandı mı?
Kullanıcılar → Detay → Engelle
Kullanıcılar → Detay → Aktivite
Giriş yaptığınızda sistem kimliğinizi doğrular, güvenlik kontrollerini yapar ve oturumunuzu başlatır. İşte bu süreçte gerçekleşen teknik adımlar:
Girilen e-posta ile User::where('email', $email)->first() sorgusu yapılır. Kullanıcı bulunamazsa "Geçersiz bilgiler" hatası döner.
Girilen şifre Hash::check($password, $user->password) ile veritabanındaki bcrypt hash ile karşılaştırılır. Eşleşme yoksa hata.
RateLimiter::hit() ile yanlış deneme sayısı takip edilir. 5 yanlış denemede hesap 15 dakika kilitlenir (ThrottleRequests middleware).
2FA aktifse Google2FA::verifyKey($secret, $code) ile 6 haneli kod doğrulanır. Yanlış kod = giriş reddedilir.
Auth::login($user) ile oturum açılır. session_id oluşturulur ve remember_token (Beni Hatırla) cookie'ye yazılır.
login_logs tablosuna IP adresi, cihaz bilgisi, tarayıcı ve zaman damgası kaydedilir. Şüpheli aktivite için kullanılır.
(Kimlik Doğrulama)
Kullanıcının kim olduğunu kanıtlama süreci. Kapıdaki güvenlik gibi.
(Two-Factor Authentication)
İki faktörlü doğrulama. Şifre + telefonunuza gelen kod.
(Şifre Hashleme)
Şifreleri geri dönüşümsüz hale getiren algoritma. Çözülemez.
(Kaba Kuvvet Saldırısı)
Tüm kombinasyonları deneyerek şifre tahmin etme. Engelliyoruz.