Diskon 50% terbatas! Masukkan kupon "programmer2025" di kelas apa saja

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/');
}
avatar fiand96
@fiand96

13 Kontribusi 2 Poin

Dipost 8 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban