Şifresini unutan kullanıcılar nasıl yeni şifre alıyor? Güvenli sıfırlama süreci.
E-posta ile Sıfırlama: Kullanıcı e-postasını giriyor, sıfırlama linki gönderiliyor
Güvenli Token: 64 karakterlik benzersiz kod 1 saat geçerli
Yeni Şifre Belirleme: Güvenlik kurallarına uygun yeni şifre oluşturma
Tek Kullanımlık: Link kullanıldıktan sonra geçersiz hale geliyor
Kullanıcı kayıtlı e-posta adresini girer
E-posta bulunursa, gelen kutusuna özel link gönderilir
Kullanıcı e-postadaki güvenli linke tıklar (1 saat geçerli)
Güvenlik kurallarına uygun yeni şifre oluşturur
Sıfırlama linki 1 saat sonra otomatik geçersiz
Link bir kez kullanıldıktan sonra iptal olur
E-posta bulunamazsa bile "link gönderildi" der
Aynı e-postaya 15 dakikada 1 link
Şifre sıfırlama talebi yapıldığında gerçekleşen teknik süreç
Kullanıcı "Şifremi Unuttum" dediğinde, sistem güvenli bir token üretiyor, e-posta gönderiyor ve token'ın süresini takip ediyor. Yeni şifre belirlendiğinde eski token geçersiz oluyor.
User::where('email', $email)->first() ile kullanıcı aranır. Bulunsun ya da bulunmasın aynı mesaj gösterilir: "Link gönderildi". Bu, saldırganın geçerli e-postaları tespit etmesini önler.
Password::createToken($user) ile 64 karakterlik cryptographically secure token üretilir. Token password_resets tablosuna hash'lenerek kaydedilir (token kendisi değil).
URL::temporarySignedRoute() ile 1 saat geçerli, imzalı URL oluşturulur. URL manipüle edilirse imza geçersiz olur ve istek reddedilir (HMAC doğrulaması).
ResetPasswordNotification queue'ya eklenir. SMTP ile arka planda gönderilir. E-posta içinde token'lı link ve son kullanma tarihi yer alır.
Link tıklandığında Password::tokenExists($user, $token) ile token doğrulanır. Süre dolmuşsa veya token yanlışsa hata döner. created_at + 60 dakika kontrolü yapılır.
Yeni şifre Hash::make() ile şifrelenir, users tablosuna kaydedilir. password_resets tablosundaki token silinerek tek kullanımlık yapılır.
Broker: Password::broker() | Token Expiry: config('auth.passwords.users.expire') = 60 dakika
Şifre sıfırlama için üretilen benzersiz güvenlik kodu
Token'ın geçerli olduğu süre (1 saat)