Postingan lainnya
sistem login gagal trus, pdahal sudah sesuai di database.
ini function nya :
function cek_data($nama, $pass){
global $conn;
//mencegah sql injection
$nama = mysqli_real_escape_string($conn, $nama);
$pass = mysqli_real_escape_string($conn, $pass);
$query = "SELECT password FROM users WHERE username = '$nama'";
$hasil = mysqli_query($conn, $query);
$hash = mysqli_fetch_assoc($hasil)['password'];
// die( print_r($hash));
if( password_verify($pass, $hash) ){
die ('berhasil !');
}else{
die ('gagal !!');
}
}
login.php nya :
<?php
require_once "core/init.php";
//validati register
if ( isset($_POST['submit']) ) {
$nama = $_POST['username'];
$pass = $_POST['password'];
if (!empty(trim($nama)) && !empty(trim($pass)) ) {
cek_data($nama, $pass);
}else {
echo 'tidak boleh kosong';
}
}
require_once "view/header.php";
?>
0
2 Jawaban:
coba dehh gan agan ilangin mysqli_real_escape_string() dulu, kalo emg langsung bisa, berarti masalahnya disitu, terkadang ane makek metode sama persis dengan agan, tapi malah gak bisa, setelah ane ilangin real escapenya tba tba bisa...akhirnnya ane akalin pakek ini
$username = stripslashes($_POST['username']);
ada banyak banget cara untuk mencegah sql injection dari htmlentities() stripslashe() dan lain lain, coba gunakan metode lain untuk ngelindungin web agan dari sql injection
1
ane dapat.y di password_hash() dan password_verify(), bgitu ane ganti jadi md5() udah bisa normal lg gan .. thanks udah bantu ..
0