Cookie a session
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
echo "$key = $value <br>";
}
?>
</body>
</html>
set_cookie.php
pocitadlo.php
Výhody a omezení cookies
Výhody
Obchází bezestavovost
http protokolu
Je všude implementováno
Nevýhody, omezení
Zatěžuje komunikaci
– Klient posílá při každém
dotazu, i když to server
nepotřebuje
Omezení na délku (4KB)
– Doporučuje se držet ji velmi
malou
Bezpečnostní riziko?
– Klient posílá jen to, co
dostal. Ale někdy to může
být považováno za důvěrnou
informaci
Data nejsou šifrovaná
SESSIONS
Vylepšení / nadstavba cookies
Sessions
Zjednodu
šení práce
Podpora stavu
Kombinace cookies a lokální databáze
1. nastav cookie
PHPSESSID=xyz
xyz: $x=5; $y=7
2
. pošli cookie
PHPSESSID=xyz
PHPSESSIONID = xyz
Server
Klient
PHP: session_start();
$_SESSION[‘x’] = 5;
PHP: $x
= $_SESSION[‘x’];
Příklad SESSIONS
<?
session_start();
$_SESSION['x'] = 5;
$_SESSION['y'] = 7;
?><!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Sessions</title>
</head>
<body>
<p>Tento skript vypise seznam session promennych.</p>
<?
foreach ($_SESSION AS $key=>$value) {
echo "$key = $value <br>";
}
?></body>
</html>
sessions.php
Pozor na XSS
DB na serveru
Ve výchozím stavu podle php.ini
Adresář C:\xampp\tmp
[Session]session.save_handler=files
session.save_path="C:\xampp\tmp"
..
sess_vkfa0df1ombhf63su9qkokfpk7
x|i:5;y|i:7;
Serializované pole
$_SESSION
Session lze ukládat i do DB
Lze vnutit vlastní session_handler
session_set_save_handler(
array($handler, 'open'),
array($handler, 'close'),
array($handler, 'read'),
array($handler, 'write'),
array($handler, 'destroy'),
array($handler, 'gc')
);
Kde $handler je instance t
řídy SessionHandlerInterface
DĚKUJI ZA POZORNOST
Dotazy?