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