web 2.0

Thursday, February 11, 2010

Session pada PHP

Session merupakan suatu mekanisme untuk menyimpan suatu data tertentu seperti username atau password pada saat mengakses suatu web site. Data session tersimpan pada web server, yang berfungsi untuk membentuk interaksi antara client dan web server. Pada prinsipnya session dan cookie mekanisme kerja nya hampir sama, tetapi berbeda tempat penyimpanannya, jika session menyimpan data pada server sedangkan cookie menyimpan data pada client.

Sebagai contoh, jika kita ingin mengakses webmail pada suatu server, maka sebelumnya kita harus login terlebih dahulu dengan memasukkan username & password agar dapat mengakses halaman webmail tersebut. Setelah melakukan login, maka username & password yang telah kita inputkan pada form webmail tersebut akan tersimpan secara otomatis pada server selama kita mengakses halaman webmail. Data tersebut akan hilang dari server jika kita melakukan log out/sign out atau menutup aplikasi browser.

Pada intinya session hanya menyimpan data sementara selama melakukan akses pada suatu web, untuk kepentingan keamanan selama mengakses web tersebut.
Setelah PHP versi 4.2.0 keatas, default setting register_globals = off. sedangkan pada PHP sebelumnya setting untuk register_globals = on.

Perubahan konfigurasi setting pada register_globals merupakan hal untuk menjaga keamanan variabel data yang dikirim pada setiap halaman web. Variabel data yang dikirimkan tersebut bisa melalui GET, POST, COOKIE ataupun SESSION. Pada bagian ini, kita akan membahas bagaimana program PHP untuk management session.
Untuk mengetahui register_globals = on/off anda bisa menampilkan source berikut :

phpinfo.php
<?php phpinfo(); ?> 

Dibawah ini merupakan contoh program jika konfigurasi register_globals=on :

file1.php
<?php
session_start();
$username='saya';
$pass='rahasia';
session_register('username');
session_register('pass');
echo "</br><a href='file2.php'>file2.php</a>";
?>

file2.php
<?php
session_start();
echo $username."</br>".$pass;
?> 

Dibawah ini merupakan contoh program jika konfigurasi register_globals=off :

file1.php
<?php
session_start();
$username='saya';
$pass='rahasia';
$_SESSION['username']=$username;
$_SESSION['pass']=$pass;
echo "</br><a href='file2.php'>file2.php</a>";
?>


file2.php
<?php
session_start();
echo $_SESSION['username']."</br>". $_SESSION['pass'] ;
?> 

untuk kasus register_globals=on, source diatas juga dapat digunakan jika versi php >= 4.1.0. sebaiknya gunakan $_SESSION jika php version >= 4.1.0, walaupun register_globals off ataupun on, session tetap dapat berjalan dengan semestinya.

Jika setting pada webserver register_globals=off dan agar pengiriman data melalui GET, POST serta COOKIE/SESION dapat berjalan seperti konfigurasi register_globals=on, maka anda bisa menambahkan baris berikut pada header source program PHP (versi PHP >= 4.1.0) :

import_request_variables('GPC');

Dengan menambahkan source diatas pada header, maka pendefinisian variabel yang dikirimkan melalui metode GET, POST ataupun COOKIE tidak diperlukan lagi walaupun konfigurasi setting webserver register_globals=off.

Selamat trial and error..


ref :

http://id.php.net/session
http://www.phpfreaks.com/phpref/14.php

0 comments:

Post a Comment

Maria Ozawa disebut Miyabi bermain sex dengan free software dan tools hacking, hacker dan software cracker untuk para pecinta playboy dan Roy Suryo bersama Ruby Alamsyah demo bank century, gila bola dan juga free games desktop ada di Linux Ubuntu dan Mikrotik yang semuanya di ABG Bugil artis Bugil dan Indonesia Sex yang tidak mendidik pada Departemen Pendidikan beri free domain gratis dan hosting free hosting gratis soal toefl dan lowongan CPNS 2010 dari lowongan kerja 2010 dan rumah sakit paling bagus free lagu MP3 gratis divx film dvd movie 2010 download.