Kullanıcıların e-posta adreslerini nasıl doğruluyoruz? Güvenli aktivasyon süreci.
Otomatik E-posta Gönderimi: Kayıt anında doğrulama linki otomatik gönderiliyor
24 Saat Geçerli Link: Doğrulama linki 24 saat boyunca geçerli kalıyor
Yeniden Gönderim: Link süresi dolarsa tekrar gönderebilme imkanı
Özellik Kısıtlaması: Doğrulanmamış hesaplar premium özellikleri kullanamaz
Sahte e-postalarla oluşturulan bot hesaplar engellenir
Önemli bildirimler gerçek kullanıcıya ulaşır
Şifre sıfırlama ve güvenlik bildirimleri için gerekli
Kişisel verilerin korunması kanununa uygunluk
E-posta doğrulama linkine tıklandığında gerçekleşen teknik süreç
Kullanıcı doğrulama linkine tıkladığında, sistem URL imzasını kontrol ediyor, kullanıcıyı doğruluyor ve hesabı aktifleştiriyor. Bu süreç sahte e-postaların sisteme girmesini engelliyor.
hasValidSignature() middleware ile URL imzası kontrol edilir. URL herhangi bir şekilde değiştirilmişse (user_id, expires, signature) istek reddedilir. HMAC-SHA256 algoritması kullanılır.
URL'deki expires timestamp'i kontrol edilir. 24 saat geçmişse link geçersizdir. Carbon::createFromTimestamp($expires)->isPast() ile kontrol yapılır.
URL'deki hash, kullanıcının e-postasının SHA-1 hash'i ile karşılaştırılır (sha1($user->email)). E-posta değiştiyse eski link geçersiz olur.
User model'de MustVerifyEmail trait'i var mı kontrol edilir. hasVerifiedEmail() ile zaten doğrulanmış mı bakılır (tekrar doğrulamayı önler).
$user->markEmailAsVerified() çağrılır. Bu method email_verified_at = now() olarak günceller. Verified eventi dispatch edilir.
verified middleware artık bu kullanıcıyı geçirir. Premium satın alma, playlist oluşturma, favori ekleme gibi özellikler aktif olur. Kullanıcı ana sayfaya yönlendirilir.
Controller: VerifyEmailController@__invoke | URL: URL::temporarySignedRoute('verification.verify', now()->addHours(24))
E-posta doğrulama için üretilen benzersiz kod
E-posta gönderimi için kullanılan protokol
Hesabınız aktifleştirildi