---
title: "PHP session: wat een PHP-sessie is en hoe die werkt"
description: "Een PHP-sessie (PHP session) bewaart gegevens van één bezoeker op de server, gekoppeld aan een uniek sessie-ID."
canonical: https://www.keurigonline.nl/begrippenlijst/php-sessie
last_modified: 2025-12-18
---

[Terug naar begrippenlijst](https://www.keurigonline.nl/begrippenlijst)

# PHP-sessie

Een PHP-sessie (PHP session) bewaart gegevens van één bezoeker op de server, gekoppeld aan een uniek sessie-ID.

Een PHP-sessie bewaart gegevens van één bezoeker op de server, zodat een website hem van pagina tot pagina herkent. HTTP zelf onthoudt niets tussen twee verzoeken, dus zonder sessie zou je na het inloggen op de volgende pagina weer uitgelogd zijn. Ook een winkelwagen in een webshop leunt vaak op een sessie.

Roept een script session\_start() aan, dan geeft PHP de bezoeker een uniek sessie-ID, standaard in een cookie met de naam PHPSESSID. De gegevens zelf staan in $\_SESSION en worden aan het eind van het verzoek als bestand opgeslagen in de map uit session.save\_path. In de cookie staat dus alleen het ID, terwijl de inhoud op de server blijft. Is een sessie langer dan session.gc\_maxlifetime niet gebruikt, standaard 1440 seconden of 24 minuten, dan mag PHP hem opruimen.

Wie het sessie-ID van een ander bemachtigt, kan diens sessie overnemen, en dat heet session hijacking. Stuur de sessiecookie daarom alleen via HTTPS mee, met session.cookie\_secure = On, en maak na het inloggen een nieuw ID aan met session\_regenerate\_id(true).

Op een CloudLinux-server met CageFS staan de sessiebestanden van alt-php binnen de eigen kooi van het account, zodat andere accounts ze niet kunnen lezen. Het onderdeel session.upload\_progress, dat de voortgang van uploads in de sessie bijhoudt, bevatte in oktober 2026 het kritieke lek CVE-2026-109618. Bij KeurigOnline staat het sindsdien uit, omdat bijna geen website het gebruikt.

## Geschiedenis

Ingebouwde sessies kwamen in PHP 4.0, dat in mei 2000 verscheen ([geschiedenis van PHP](https://www.php.net/manual/en/history.php.php)). Later kreeg de sessie-extensie er functies bij, zoals het bijhouden van de voortgang van uploads.

Belangrijke mijlpalen:

- **Mei 2000:** PHP 4.0 verschijnt met ondersteuning voor HTTP-sessies
- **September 2008:** Arnaud Le Blanc stelt voor om de voortgang van uploads in de sessie bij te houden ([RFC](https://wiki.php.net/rfc/session_upload_progress))
- **1 maart 2012:** PHP 5.4.0 bevat session upload progress ([changelog](https://www.php.net/ChangeLog-5.php#5.4.0))
- **21 oktober 2026:** PHP 8.2.35, 8.3.36, 8.4.27 en 8.5.12 repareren CVE-2026-109618 en -109619 in session.upload\_progress

## Bronnen

1. **PHP.net** - [Sessions: Basic usage](https://www.php.net/manual/en/session.examples.basic.php)
2. **PHP.net** - [Session runtime configuration](https://www.php.net/manual/en/session.configuration.php)
3. **PHP.net** - [Session Upload Progress](https://www.php.net/manual/en/session.upload-progress.php)
4. **PHP.net** - [Securing Session INI Settings](https://www.php.net/manual/en/session.security.ini.php)
5. **OWASP** - [Session Management Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html)
