Hits : 3154

php sessions


Τι είναι


Είναι ένας τρόπος να κρατάμε προσωρινά δεδομένα. Αντίθετα με τα cookies
τα sessions είναι αρχεία τα οποία αποθηκεύονται στην πλευρά του διακομιστή.
Έτσι μπορούμε να αποθηκεύουμε προσωρινά δεδομένα ή ακόμα και το συνθηματικό
ενός χρήστη με μεγαλύτερη ασφάλεια.


top


Τι πρέπει να προσέχουμε


ΔΕΝ έχουμε 100% ασφάλεια με τα sessions. Τα sessions αποθηκεύονται σε κοινόχρηστη
τοποθεσία στον server. Οπότε εάν "κάποιο" άλλο site έχει πρόσβαση σε αυτό τον χώρο
σημαίνει ότι έχει πρόσβαση και στα αρχεία των sessions.


top


Δομή


phpinfo();


session.name PHPSESSID
session.save_path /tmp
session.cache_expire 180


top


Απλό παράδειγμα


http://gr.php.net/manual/en/session.examples.php


ses.php


<?php
session_start();
if ( !isset( $_SESSION['count'] ) ) 
  $_SESSION['count'] = 0;
else
  $_SESSION['count']++;
?>
<p align="center"><?php echo $_SESSION['count']; ?></p>
<p align="center"><a href="<?php echo $PHP_SELF; ?>">Reload</a></p>
 
<p align="center"><a href="destroy.php">Destroy</a></p>

destroy.php


<?php
session_start();
 
// Unset all of the session variables.
$_SESSION = array();
 
// Finally, destroy the session.
session_destroy();
?>
<p align=center><input type=button onclick="javascript:history.go(-1);" value="back"></p>

top


Ένα σύνθετο παράδειγμα


Εδώ είναι ένα πιο σύνθετο παράδειγμα login/logout


file:ses.zip


top