Teknik Noredirect admin login ini dilakukan dengan menggunakan bantuan Add-ons pada Mozilla Firefox yaitu NoRedirect. Caranya pun bisa dibilang cukup gampang. Kita cukup memasukkan URL halaman login admin pada Add-ons NoRedirect lalu menekan tombol add untuk memasukkannya kedalam list Noredirect. Jadi menggunakan Add-ons ini, kita bisa membypass redirect sehingga redirect tidak akan berpengaruh.
Agar lebih jelas, lihatlah kode pada dashboard halaman admin di bawah ini.
<?php
session_start();
if (!isset($_SESSION["login"])) {
header("Location: login.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Halaman Admin</title>
</head>
<body>
<h1>Welcome Admin Gans!!!</h1>
<a href="logout.php">Logout</a>
</body>
</html>
Bugnya terletak pada baris kode di bawah ini.
if (!isset($_SESSION["login"])) {
header("Location: login.php");
}
Kode di atas merupakan pengecekan terhadap admin apakah dia sudah memiliki session atau belum. Jika belum maka akan diredirect ke halaman login. Tentunya cara memperoleh sessionnya harus dengan login secara benar. Redirect ini dilakukan jika ada orang lain yang ingin mencoba mengakses halaman dashboard admin lewat URL tanpa melakukan login yang benar. Jadi penangannya menggunakan redirect ini.
Namun siapa sangka, hal yang seharusnya berguna ini malah justru bisa menjadi celah karena kesalahan dari Web Programmer sendiri. Kesalahannya karena setelah statement fungsi header untuk redirect masih dibiarkan dan tidak diexit untuk memberhentikan kode di bawahnya setelah diredirect. Jadi sebenarnya Add-ons NoRedirect ini memanfaatkan hal tersebut sehingga tetap bisa mengakses halaman dashboard admin tanpa login dengan benar.
Setelah diperbaiki, seharusnya kode di atas menjadi seperti di bawah ini.
if (!isset($_SESSION["login"])) {
header("Location: login.php");
exit;
}
Berikan perintah exit pada setiap kode yang menggunakan redirect agar setelah diredirect kode program di bawahnya tidak tereksekusi. Meskipun sebenarnya halaman dashboard adminnya masih bisa diakses namun tidak tampil apa-apa alias blank. Dengan ini, seharusnya website kita sudah aman dari teknik Noredirect admin login ini.