Assalamualaikum. Wr .wb.
Halo teman-teman semua, jumpa
lagi dengan saya, masih di tutorial sederhana native php. Pada
kesempatan kali 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 ? sederhanya, 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 saja codenya
sebagai berikut.
buat function login()
buat function login()
<?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.
berikut code pengecekan sessionya.
tidak terjadi apa-apa karna kita tidak memanggil function-nya hehe.
berikut code pengecekan sessionya.
//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 code untuk mengetahui brapa 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 1 kali
gagal login 2 kali.
gagal login 3 kali

kemudian diblokir dan tidak bisa login lagi.

FULL CODE
<?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, semoga bermanfaat dan trima kasih banyak.
Wassalamualaikum. wr.wb.
Wassalamualaikum. wr.wb.






0 komentar:
Post a Comment