1332 gün önce Bcrypt ile giriş yapma
sorusunu cevapladı.
Öncelikle password_hash fonksiyonunu hatali kullaniyorsunuz. Asagidaki örnek'de iki farkli alogritma yazdim. Oradan parametrelere bakabilirsiniz.
$password = '123456';
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
// veya burada daha güclü Argon2 sifrelemeyi kullanabilirsiniz. PASSWORD_ARGON2ID, PHP 7.4 ve üzeri sürümlerde calisir.
$hashedPassword = password_hash($password, PASSWORD_ARGON2ID, [
'memory_cost' => 2048,
'time_cost' => 4,
'threads' => 3,
]);
// Veri tabanindan üyeyi cekmek icin sadece kullanici adi'ni kullanin
if(password_verify($password, $hashedPassword))
{
echo 'gecerli sifre';
} else {
echo 'gecersiz sifre';
}
Sizin kodunuza entegre edecek olursak su sekilde deneyebilirsiniz
session_start();
include 'db.php';
if (isset($_POST['girisyap'])) {
$email = htmlspecialchars($_POST['email']);
$password = htmlspecialchars($_POST['password']);
// bu kodu kayit esnasinda sifreyi kayit ederken kullanacaksiniz.
//$passwordguclu = password_hash($password, PASSWORD_DEFAULT);
$tblclientssor = $baglanti->prepare("SELECT * from tblclients where email=:email");
$tblclientssor->execute(array(
'email' => $email,
));
$user = $tblclientssor->fetch(PDO::FETCH_ASSOC);
if ($tblclientssor->rowCount() && password_verify($password, $user['password'])) {
$_SESSION['girisbelgesi']=$email;
Header("Location: index.php?durum=welcome");
} else {
Header ("Location: login.php?durum=hata");
}
}
1335 gün önce Native PHP ile Laravel tarzı hata döküm sayfası nasıl hazırlanır?
sorusunu cevapladı.
set_error_handler() fonksiyonunu kullanabilirsiniz. Laravel önceki sürümlerinde filp/whoops kullaniyordu, onu da inceleyebilirsiniz.