Cookies & Sessions

Sessions

I princip en textfil som sparas för varje session på datorn/servern

Varje session är oftast inställd på att förstöras när webbläsarn stängs ner

/Applications/MAMP/tmp/php

Varför?

Scenario

2 miljoner inloggade användare

Inloggad på 3 olika devices: mobil, hem, jobb

6 miljoner sessions

Lagrade på vår server, saktar ner och tar plats

Fördelar

Ökad säkerhet av att lagra i backend

Sparar vi det i webbläsaren är det lättare att stjäla/hacka

Lätt att koda då vi alltid känner till vad som ligger i $_SESSION

Förläng tiden på en session

session_set_cookie_params(3600);

Ska sätta längden på en session till en timme oavsett vad användaren gör

ini_set('session.cookie_lifetime', 3600);
ini_set('session.gc_maxlifetime', 3600);

Alternativt sätta längden i php.ini

Cookies

Alternativet

Cookies lagras i användarens webbläsare

Skickas med i varje förfrågan till servern så att servern vet vem som gör förfrågan

Vi kan spara vilken information vi vill i cookies

$_COOKIE
$_SESSION["username"];
$_COOKIE["username"];
$_POST["username"];
$_GET["username"];

Varje superglobal är en associative array: namn => värde

Sätta cookies

setcookie() defines a cookie to be sent along with the rest of the HTTP headers.
setcookie("name", "value", $time, "path", "domain", $httponly);
setcookie("username", "zero_cool", time() + 3600, "/");

Sätter en cookie med användarnamn som håller i 1h

De två sista argumenten kan skippas i vårt fall