Autentikasi Halaman
Salah satu bentuk aplikasi yang sangat memerlukan cookie/session adalah halaman autentikasi. Pada prinsipnya, autentikasi digunakan untuk memproteksi halaman-halaman sensitif.
Untuk mengetahui lebih detail mengenai halaman autentikasi, ikuti langkah-langkah berikut:
1. Buat folder khusus, misalnya autentikasi_cookie.
2. Buat kode untuk halaman index.php.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Halaman Administrator</title> <style type="text/css"> .inner { margin: 200px auto; padding: 20px; width: 240px; border: 1px solid #333; } </style> </head> <body> <?php ini_set('display_errors', 1); define('_VALID', 1); // include file eksternal require_once('./auth.php'); init_login(); validate(); ?> <h3>Simulasi Halaman Admin</h3> <p> <a href="?m=logout">Logout</a> <p> Menu-menu admin ada di sini </body> </html> |
3. Buat kode untuk autentikasi dan simpan dengan nama auth.php misalnya.
<?php defined('_VALID') or die('not allowed'); function init_login() { // Simulasi data account nama dan password $nama = 'admin'; $pass = 'admin'; if (isset($_POST['nama']) && isset($_POST['pass'])) { $n = trim($_POST['nama']); $p = trim($_POST['pass']); if ( ($n === $nama) && ($p === $pass) ) { // Jika sama, set cookie setcookie('nlogin', $n); setcookie('time', time()); // redireksi ?> <script type="text/javascript"> document.location.href="./"; </script> <?php } else { echo 'Nama/Password Tidak Sesuai'; return false; } } } function validate() { if (!isset($_COOKIE['nlogin']) || !isset($_COOKIE['time']) ) { ?> <div class="inner"> <form action="" method="post"> <table border=0 cellpadding=5> <tr> <td>Nama</td> <td><input type="text" name="nama" /></td> </tr> <tr> <td>Password</td> <td><input type="password" name="pass" /></td> </tr> <tr> <td></td> <td><input type="submit" value="LOGIN" /></td> </tr> </table> </form> </div> <?php exit; } if (isset($_GET['m']) && $_GET['m'] == 'logout') { // Hapus cookie if (isset($_COOKIE['nlogin'])) { setcookie('nlogin', '', time() - 3 * 3600); } if (isset($_COOKIE['time'])) { setcookie('time', '', time() - 3 * 3600); } // redireksi halaman ?> <script type="text/javascript"> document.location.href="./"; </script> <?php } } ?> |