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 komentar:
Posting Komentar