Kodlama Kütüphanesi
Modern parola hash’lerini üretin; mevcut kayıtları güvenli biçimde doğrulayıp kademeli yenileyin.
Kullanıcı parolaları geri çözülebilir şifreleme ile değil, modern parola hash API’siyle saklanmalıdır.
Yapılandırma
// Config/Auth.php
'encode' => 'bcrypt',
'legacyEncode' => 'super'
Parola oluşturma ve doğrulama
$hash = Encode::password($plainPassword);
if(Encode::passwordVerify($plainPassword, $storedHash))
{
// Kimlik doğrulandı.
}
Mevcut kayıtların geçişi
Saklanan değer modern bcrypt/Argon biçimindeyse standart parola doğrulaması kullanılır. Eski biçimdeyse legacyEncode devreye girer. Başarılı girişten sonra uygulama Encode::passwordIsOld() sonucunu kontrol ederek kaydı yeni hash ile güncelleyebilir.
Saklanan hash parola yerine geçmez
Kullanıcı girişi, gönderilen parolayı yalnızca Encode::passwordVerify() ile (eski biçimde legacyEncode ile) doğrular. Veritabanındaki hash değerinin kendisini parola olarak göndermek kabul edilmez; sızan bir hash yeniden kullanılabilir bir kimlik bilgisine dönüşmemelidir. Kalıcı oturum ya da “beni hatırla” akışı kuruyorsanız hash'i çereze yazmayın; ayrı, rastgele ve yenilenebilir bir belirteç saklayın.
VARCHAR(255) olmalıdır. Hash SQL sorgusunda aranmaz; kullanıcı e-posta veya kullanıcı adıyla alınır, parola PHP tarafında doğrulanır.