Membuat Limit Login Sederhana Dengan Session PHP


Membuat Limit Login Sederhana Dengan Session PHP

Assalamualaikum Wr. Wb.
Kali ini tutorialnya menggunakan bahasa pemrograman php. Pada kesempatan ini saya akan membagikan tutorial blok user yg gagal login lebih dari 3 kali, cara ini biasanya diterapkan pada halaman login administrator untuk menghindari serangan brute force, apa itu brute force? sederhananya, brute force adalah serangan hacking dengan cara menebak-nebak username dan password suatu halaman login secara terus menerus, sebagai developer website tentu kita harus waspada terhadap serangan ini, ada banyak cara menanggulangi serangan brute force dan salah satunya dengan cara blokir user apabila gagal login lebih dari 3 kali.

Sebelum lanjut ke tutorial, perlu diketahui kita disini akan memanfaatkan fungsi $_SESSION untuk menghitung berapa kali user mengklik tombol login. Langsung aja codenya sebagai berikut.

Buat dulu function login() nya

<?php
session_start();            
function login(){
    echo '<table>
        <form method="post" action="">
            <tr>
                <td>Username</td><td><input type="text" name="user"></td>
            </tr>
            <tr>
                <td>Password</td><td><input type="text" name="pass"></td>
            </tr>
            <tr>
                <td></td><td><input type="submit" name="submit" value="Login"></td>
            </tr>
        </form>
    </table>';
}

 

Kemudian buat function blokir_user()

function blokir_user(){
    echo "<h1> Anda telah diblokir ! </h1>";
}

 

ketika kita menjalankan code diatas apa yang terjadi ? ................
tidak terjadi apa-apa karna kita tidak memanggil function-nya hehe. Selanjutnya buat kode pengecekan session-nya dengan kode berikut

//jika tombol login diklik
if(isset($_POST['submit']))
{
        if($_POST['user']=="user" && $_POST['pass']=="123")
        {
            // disini code ketika login berhasil
            // abaikan saja karna pembahasan kali ini adalah ketika login gagal  
        }
        else
        {
            //jika terdapat session bernama "auth"
            //untuk penamaan session bebas ya, mau "auth", "cemungud", "follback_kaka" terserah :D
            if(isset($_SESSION['auth']))
            {
                //jika user gagal masuk selama 3 kali atau lebih
                if($_SESSION['auth']>3 || $_SESSION['auth']==3){
                        //set nilai session "auth" ke 4
                        $_SESSION['auth']=4;
                        //jalankan function blokir_user
                        blokir_user();
                }
                //jika tidak
                else{
                        //session "auth" ditambah 1
                        $_SESSION['auth']=$_SESSION['auth']+1;
                        //jalankan function login()
                        login();
                }
            }
            //jika tidak ada session "auth"
            else{
                    //daftarkan session "auth", dan beri nilai 1
                    $_SESSION['auth']=1;
                    //jalankan function login()
                    login();
            }
 
        }
}
//jika tombol login tidak diklik ya tampilkan form loginnya
else
{
        //jalankan function login()
        login();
}

 

Kemudian kita tambahkan kode untuk mengetahui berapa kali user mencoba login.

//ini script untuk menampilkan brapa kali user mencoba login
if(isset($_SESSION['auth'])){
    echo $_SESSION['auth'];
}

 

Mari kita test.

Halaman awal

 

Gagal Login 1x

 

Gagal Login 2x

 

Gagal Login 3x

 

Kemudian ter-blokir dan gak bisa login lagi

 

Untuk full kodenya jadi seperti ini

<?php
session_start();            
function login(){
    echo '<table>
        <form method="post" action="">
            <tr>
                <td>Username</td><td><input type="text" name="user"></td>
            </tr>
            <tr>
                <td>Password</td><td><input type="text" name="pass"></td>
            </tr>
            <tr>
                <td></td><td><input type="submit" name="submit" value="Login"></td>
            </tr>
        </form>
    </table>';
}
//jika tombol login diklik
if(isset($_POST['submit']))
{
        if($_POST['user']=="user" && $_POST['pass']=="123")
        {
            // disini code ketika login berhasil
            // abaikan saja karna pembahasan kali ini adalah ketika login gagal  
        }
        else
        {
            //jika terdapat session bernama "auth"
            //untuk penamaan session bebas ya, mau "auth", "cemungud", "follback_kaka" terserah :D
            if(isset($_SESSION['auth']))
            {
                //jika user gagal masuk selama 3 kali atau lebih
                if($_SESSION['auth']>3 || $_SESSION['auth']==3){
                        //set nilai session "auth" ke 4
                        $_SESSION['auth']=4;
                        //jalankan function blokir_user
                        blokir_user();
                }
                //jika tidak
                else{
                        //session "auth" ditambah 1
                        $_SESSION['auth']=$_SESSION['auth']+1;
                        //jalankan function login()
                        login();
                }
            }
            //jika tidak ada session "auth"
            else{
                    //daftarkan session "auth", dan beri nilai 1
                    $_SESSION['auth']=1;
                    //jalankan function login()
                    login();
            }
 
        }
}
//jika tombol login tidak diklik ya tampilkan form loginnya
else
{
        //jalankan function login()
        login();
}
function blokir_user(){
    echo "<h1> Anda telah diblokir ! </h1>";
}
 
//ini script untuk menampilkan brapa kali user mencoba login
if(isset($_SESSION['auth'])){
    echo $_SESSION['auth'];
}

 

 

Ok cukup sekian tutorial sederhana dari saya, jika ada yang ingin ditanyakan silahkan tanyakan aja ya diform komentar yang udah disediakan. semoga bermanfaat dan terima kasih banyak.

Wassalamualaikum Wr. Wb.


http://short.erllang.ga/mHVv7

Suka Dengan Artikel ini? Bagikan!  
Facebook Twitter Google+ LINE WhatsApp
Komentar pada “ Membuat Limit Login Sederhana Dengan Session PHP