Php base64_encode ve base64_decode kullanımı sorunu
Merhabalar. Benim şöyle bir sorunum var. Siteye kullanıcı kaydı yaparken base64_encode ile kayıt yapabiliyorum. Kaydı çekeceğimde ise veritabanındaki şifreli kodu şifre alanına girsem dahi giriş yapamıyorum. Hata da vermiyor. Giriş alanının kodlarını kısaca koyuyorum. Bu arada "$_POST" alanlarına "strip_tags" ve "trim" gibi şeyler koymadığımda da olmuyor. Yani aşağıdaki gibi kullandığımda da olmuyor. Ne yapmam lazım acaba?
<?php
$ad = $_POST['ad'];
$parola = base64_decode($_POST['sifre']);
$query = "SELECT * FROM kullanici WHERE kullanici_ad = '$ad' AND kullanici_sifre = '$parola'";
$mysqli = mysqli_query($db, $query);
$sonuc = mysqli_fetch_array($mysqli);
if(($sonuc['kullanici_ad'] == $ad) AND ($sonuc['kullanici_sifre'] == $parola)) {
" BURADA GİRİŞ YAPIYOR "
?>
Aslında burada eğer güzel bir iş çıkartmak istiyorsan şunu göz önünde bulundurman lazım, veriyi b64 encode edip tutman ile cleartext tutman arasında hiç bir fark olmuyor.
Onun yerine bir hash algoritmasından geçirip o şekilde tutman senin faydana olacaktır. Bunun için md5, sha256 yada blowfish algoritmalarına bakabilirsin.