KKUT Docs

Kodlama Kütüphanesi

Modern parola hash’lerini üretin; mevcut kayıtları güvenli biçimde doğrulayıp kademeli yenileyin.

This article is currently available in Turkish. Its English translation is being prepared.

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.

Veritabanı: Parola kolonu en az 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.
KUT Framework 1.0Katmanlı Uygulama Tabanı

Kur. Uyarla. Türet.