Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Cookie a session

PDF
Stáhnout kompletní materiál zdarma (4.58 MB)

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.

Kol

áčky, sezení

Martin Klíma

UDRŽOVÁNÍ STAVU 
APLIKACE

Udržování stavu aplikace

1.

Pomocí skrytých polí (viz příklad wizard)

2.

Pomocí obohacování odkazů

3.

Pomocí cookies

4.

Pomocí sessions

Obohacování odkazů

Veškeré odkazy z dokumentu budou obohaceny o 
identifikátor s daty sezení

Není to moc elegantní

Může to selhat

Pokud se děje automaticky, náročné na výkon

<a href="dalsi_stranka.php">Další stránka</a><form action="obsluha.php" method="post"></form>

<a href="dalsi_stranka.php?session_id=XXX">Další stránka</a><form action="obsluha.php?session_id=XXX" method="post"></form>

Cookie

Informace uložená u klienta

Posílá jí server

Jen ten, kdo ji poslal, ji může opět přečíst

Server

Client

Lokální DB

cookies

GET /

1

HTTP/1.0 200 OK

Set-Cookie: jmeno=Franta 

2

PHP:   setcookie(

“name“, “Franta“);

GET /

Cookie: jmeno=Franta 

3

jmeno: Franta

PHP:   $jmeno = 

$_COOKIE[‘jmeno’];

Pomocí cookies

Informace ulo

žená serverem na klientovi

Klient posílá tuto informaci zpět pokud

– URI spadá do vymezeného rozsahu
– Doména odpovídá
– Nevypršela platnost
– Je zaručena odpovídající bezpečnost

Využití:

– Počítadlo přístupů
– Další statistiky
– Udržování stavu aplikace

Signatura funkce setcookie

setcookie (

string $name
[, string $value = ""
[, int $expire = 0
[, string $path = ""
[, string $domain = ""
[, bool $secure = false
[, bool $httponly = false ]
]]]]] )

Unix timestamp, pokud 0, pak do 
konce života prohlížeče

Omezení jen na určenou cestu 
(adresář), např. /galerie/ 

Zobecnění pro celou 
poddoménu

, např. cvut.cz

Pokud true, bude poslána jen 
přes https (bezpečný kanál)

Pokud true, nebude dostupná 
pro JavaScript, to je 
bezpečnostní opatření.

Cookies

<?php

setcookie("mojecookie1","hodnota1");
setcookie("mojecookie2","hodnota2");

?>
<!doctype html>
<html>
<head>
<title>Nastav Cookie</title>
</head>
<body>
<p>Tento skript nastaví cookie

a přečte existující cookie.</p>

<?php
foreach ($_COOKIE AS $key=>$value) {

Témata, do kterých materiál patří