Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
apakah login seperti ini termasuk aman ?
om mau tanya nih, apakah login seperti ini sudah termasuk aman ?
session_start();
require_once '../../config/koneksi.php';
require_once '../../config/library.php';
require_once '../../config/config.php';
if(isset($_POST['btn-login'])) {
if (empty($_POST['email']) AND empty($_POST['password']) ) {
echo "Email dan password masih kosong";
}
elseif (empty($_POST['email']) ) {
echo "Email kosong";
}
elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
echo "Email tidak valid";
}
elseif (empty($_POST['password']) ) {
echo "Password kosong";
}
elseif (isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])){
$secretKey = "#";
$responseKey = $_POST['g-recaptcha-response'];
$userIP = $_SERVER['REMOTE_ADDR'];
$url = "https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$responseKey&remoteip=$userIP";
$response = file_get_contents($url);
$response = json_decode($response);
if($response->success){
$email = $connect->real_escape_string($_POST['email']);
$password = $connect->real_escape_string($_POST['password']);
$passhash = hash('sha256', $password);
$result = $connect->query("SELECT * FROM admin WHERE email='$email'");
if ( $result->num_rows == 0 ){
echo "User dengan email yang kamu masukkan tidak ada";
}
else {
$admin = $result->fetch_assoc();
if ( password_verify($passhash, $admin['salt']) ) {
$_SESSION['id_admin'] = $admin['id_admin'];
$_SESSION['emailadmin'] = $admin['email'];
$_SESSION['namaadmin'] = $admin['username'];
$_SESSION['passadmin'] = $admin['password'];
$_SESSION['admin'] = true;
if(!empty($_POST["remember"])) {
setcookie ("email", $email, time()+ (10 * 365 * 24 * 60 * 60));
setcookie ("password", $passhash, time()+ (10 * 365 * 24 * 60 * 60));
} else {
if(isset($_COOKIE["email"])) {
setcookie ("email","");
}
if(isset($_COOKIE["password"])) {
setcookie ("password","");
}
}
$data = "UPDATE admin SET last_login = '$tgl_sekarang',
last_login_jam = '$jam_sekarang'
WHERE id_admin = '$_SESSION[id_admin]'";
$update = $connect->query($data);
echo "true";
}
else {
echo "Password yang kamu masukkan salah, coba lagi";
}
}
} else {
echo 'Kami tidak dapat memastikan bahwa kamu manusia ! Reload halaman untuk memulai ulang';
}
} else {
echo 'Isi CAPTCHA untuk memastikan kamu bukan robot atau boot';
}
} else {
header('location:'.$urlroot.'/admin/');
}
0
Belum ada Jawaban. Jadi yang pertama Jawaban
Login untuk ikut Jawaban