Belajar PHP: Cookie dan Session untuk Memproteksi Halaman Web ~ Roisa

Belajar PHP: Cookie dan Session untuk Memproteksi Halaman Web

clip_image001

Berikut tampilan Web autentikasi sederhana:

session php


ROISATUL AZIZAH

109533414524

Pelaksanaan: Rabu, 23 Maret 2011

Kompetensi Dasar:

1. Konsep dasar cookie dan session di dalam pemrograman web

2. Penggunaan cookie dan session

3. Memanfaatkan cookie atau session untuk memproteksi halaman web

Cookie

Pada dasarnya cookie merupakan mekanisme untuk meletakkan data pada remote browser sehingga memudahkan penelusuran atau identifikasi user. Cookie bergantung pada Browser, secara kasar dapat di gambarkan bahwa saat history suatu browser dihapus maka cookie pun akan hilang (biasanya memiliki batas waktu 2 hari)

Session

Penggunaan cookie memiliki beberapa masalah atau kendala. Bisa jadi ada browser yang tidak menerima cookie, serta kemungkinan adanya user yang men-disable cookie. Permasalahan ini merupakan salah satu alas an session PHP menggunakan method cookie/URL ganda.

Tidak seperti cookie, session tersimpan di server. Dengan demikian, client tidak memiliki akses untuk mendapatkan informasi.

Studi Kasus:

Untuk membuat halaman autentikasi dapat memanfaatkan session yang dapat memproteksi web, mekanisme dapat dilihat pada video session PHP berikut:

Pada video tersebut, saat kita mengetikkan nama ‘adekroisa’ maka akan otomatis keluar nama yang sudah pernah diketikkan sebelumnya, mekanisme seperti itulah yang bisa disebut ‘session’.


Script PHP: index.php

<!--
Dev. Roisatul Azizah
109533414524
S1 PTI 2009 Off A
23 Maret 2010
Halaman autentikasi with session
-->

<!DOCTYPE html>
<html lang="en">
<head>
<title>Autentikasi Halaman Session</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('./authen.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>


Script PHP: authen.php
<?php
defined('_VALID') or die ('not allowed');
session_start();
function init_login(){
//Simulasi data account nama dan password
$nama = 'adekroisa';
$pass = 'Bismillah';
if (isset($_POST['nama']) && isset ($_POST['pass'])){
$n = trim($_POST['nama']);
$p = trim($_POST['pass']);
if(($n===$nama) && ($p ===$pass)){
//Jika sama, set session
//set session('nlogin', $n);
//set session('time', time());
if(!isset($_SESSION['nlogin']) || !isset($_SESSION['time'])){
$_SESSION['nlogin'] = $n;
$_SESSION['time'] = time();
}
//redireksi
?>
<script type="text/javascript">
document.location.href="./";
</script>
<?php
} else
{
echo 'Haha..Nama/Password Tidak sesuai';
return false;
}
}
}

function validate(){
if(!isset($_SESSION['nlogin']) || !isset($_SESSION['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 session
if(isset($_SESSION['nlogin'])){
unset($_SESSION['nlogin']);
}
if(isset($_SESSION['time'])){
unset($_SESSION['time']);
}
//redireksi halaman
?>
<script type="text/javascript">
document.location.href="./";
</script>
<?php
}
}
?>

Artikel Lainnya

1 comment:

Unknown mengatakan...

hehe.. ayo belajar framework php, code igniter coba.. semangat2.. :)

Posting Komentar

Informasi Pilihan Identitas:
Google/Blogger : Account special blogger
Another : Jika tidak punya account blogger namun punya alamat Blog atau Website.
Anonim : Jika tidak ingin mempublikasikan profile anda (tidak disarankan). salam hangat, Roisa :)

 
Wedoo Indonesia