Skip to main content

Membuat Login dengan Validasi Waktu (CountDown)

Kali ini admin akan posting Cara Membuat Login degan Validasi Waktu dengan PHP MYSQL.
Validasi waktu disini maksudnya kita akan membuat halaman login trial yang membatasi percobaan login misalnya jika kita salah dalam memasukkan username atau password melebihi 5 kali atau batas percobaan yang akan ditentukan, kita harus menunggu waktu 25 detik untuk mencoba login kembali.
Hal ini biasa ada pada handphone, ini juga salah satu bentuk verifikasi yang dapat mencegah serangan robot.
Dalam pembuatan login ini kita bisa memberikan kesempatan lgin sesuai settingan, ada baiknya jika validasi ini dikombinasikan dengan validasi form input dengan javascript dengan kesempatan 3 kali percobaan. Nah jika user sudah mencoba beberapa kali login sesuai dengan batasnya, maka otomatis user harus menunggu sesuai dengan waktu yang ditentukan.
Membuat login PHP MYSQL dengan sistem validasi waktu apabila salah memasukkan username atau password.
File index.php
<?php 
//index.php
session_start(); ?>
<h1>Home</h1>
<?php if (isset($_SESSION['username'])): ?>
Hello <?php echo $_SESSION['username']?> (<a href="login.php?logout">Logout</a>)
<p>
    Anda mendapatkan informasi penting.
</p>
<?php else: ?>
<p>
    Silakan <a href="login.php">login</a> untuk melihat informasi penting.
</p>
<?php endif; ?>


untuk File login.php

<?php
//login.php
session_start();
if (isset($_SESSION['username'])){    
    if (isset($_GET['logout'])) unset($_SESSION['username']);
    header("location: index.php");
} else {
    if ($_POST){
        //asumsi username and password hasil fetched form database
        $username = "admin";
        $password = "21232f297a57a5a743894a0e4a801fc3"; //admin
        //password di atas hasil md5("admin");

        if ($_POST['uname']==$username){ //bandingkan username
            if (md5($_POST['passwd'])==$password){ //bandingkan password
                //sukses
                unset($_SESSION['failed']); //hapus failed
                unset($_SESSION['delayto']); //hapus delayto
                $_SESSION['username']=$username; //catat username
                header("location: index.php"); //ke halaman utama
            }
        }
        //failed catat sudah berapa kali
        $message = "Username/password tidak match";
        if (!isset($_SESSION['failed'])) $_SESSION['failed']=0;
        $_SESSION['failed']++; //faileb bertambah

        //delay sebanyak 2 pangkat gagal
        $delay = pow(2,$_SESSION['failed']);
        $_SESSION['delayto'] = strtotime("+ {$delay} seconds");
    }
}
?>
<h2>Login</h2>
<?php 
if (isset($message)) echo $message."<br/>";
if (isset($_SESSION['delayto'])) $delay = $_SESSION['delayto'] - time();
else $delay = 0;

if ($delay > 0): ?>

<p>
Sudah <?php echo $_SESSION['failed'];?> kali gagal.<br/>
Silakan coba
<span id="delay"><?php echo $delay;?></span>.
</p>
<script type="text/javascript">
  var seconds;
  var temp;
 
  function countdown() {
    seconds = document.getElementById('delay').innerHTML;
    seconds = parseInt(seconds, 10);
 
    if (seconds == 1) {
      temp = document.getElementById('delay');
      temp.innerHTML = "<a href='login.php'>login</a>";
      return;
    }
 
    seconds--;
    temp = document.getElementById('delay');
    temp.innerHTML = seconds+" detik lagi";
    timeoutMyOswego = setTimeout(countdown, 1000);
  } 
 
  countdown();
</script>

<?php else: ?>

<form method="POST">
    Username: <br/>
    <input type="text" name="uname"><br/>
    Password :<br/>
    <input type="password" name="passwd"><br/>
    <input type="submit" value="Submit">
</form>

<?php endif; ?>
Selamat mencoba dan semoga bermanfaat...

Comments

Popular posts from this blog

Membuat Tombol Scroll ke Atas (back to top) dengan JQuery

Cara membuat tombol scroll ke atas dengan jquery (back to top) – Sebuah website yang begitu panjang kebawah tentu akan menyulitkan penggunanya untuk bisa kembali lagi keatas, karena harus scroll terus dengan menggunakan mouse. Hal tersebut tentu kurang efektif. Untuk mengatasi hal tersebut, banyak orang menggunakan sebuah tombol yang ketika di klik akan membawa kita ke bagian atas halaman website dengan animasi yang menarik. Dibutuhkan jquery untuk membuat hal semacam itu, dan pada tutorial kali ini  Media Kunci  akan mengajarkan Anda cara membuatnya. Mudah kok, script nya juga tidak panjang. 1.  HTML:  Buat sebuah file html dan tuliskan script markup nya seperti berikut ini <div id="wrapper"> <h1>Membuat Tombol Scroll to Top Dengan Jquery</h1> <h5><a href="https://mediakunci.blogspot.com/2019/04/membuat-tombol-scroll-ke-atas-back-to.html">Baca tutorial di Media Kunci</a></h5> Konten yang panjang disini....

Insert Data ke Database Tanpa Loading dengan PHP dan jQuery

Insert Data ke Database Tanpa Loading dengan PHP dan jQuery. Tutorial pertama tentang jQuery ini akan saya mulai dari yang sederhana aja dulu yaitu cara Insert Data ke Database Tanpa Loading dengan PHP dan jQuery. Baca juga :  Menampilkan Data dari Database MySQL Tanpa Loading Dengan jQuery Sebelumnya silahkan download dahulu jQuery di website resminya  disini . Selanjutnya buat sebuah database, dalam hal ini saya membuat database dengan nama  terserah . Kemudian dumping Script SQL di bawah ini: CREATE TABLE `siswa` ( `nama` varchar(32) NOT NULL, `kelas` varchar(3) NOT NULL, `jurusan` varchar(20) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; Dari Script SQL di atas anda akan mendapatkan sebuah table dengan nama  siswa  dengan tiga buah field yaitu nama, kelas, jurusan. Jika sudah kita akan membuat Form HTML, dan berikut ini kodenya: <html> <head> <title>Insert Data ke Database Dengan jQuery</title> </head> <body> <form id=&q

Belajar PHP (Membuat Halaman Komentar)

Fasilitas komentar pada sebuah website akan menjadikan situs kita rancang menjadi lebih hidup karena dapat mengajak pengunjung untuk berinteraksi secara langsung. Umumnya fasilitas komentar dapat kita jumpai hampir disetiap website, blog atau bahkan forum seperti ini untuk mendapatkan umpan balik baik itu masukan, kritikan, pertanyaan atau bahkan pujian dari pengunjung website. Konsep pembuatan komentar ternyata cukup sederhana, asalkan paham sedikit mengenai PHP dan MYSQL, Insya Allah kamu dapat memahami bagaimana cara kerjanya. Berikut ini saya akan mencoba menulis bagaimana membuat fasilitas halaman komentar sederhana Masuk ke MYSQL buat database dan tabel dalam contoh ini databasenya adalah komentar sedangkan tabelnya adalah data. mysql> use komentar; Database changed mysql> mysql> use komentar; Database changed mysql> create table data( -> id INT NOT NULL  AUTO_INCREMENT PRIMARY KEY, -> nama VARCHAR(50) NOT NULL, -> email VARCHAR(50) NOT NULL, -> isi TEXT