Ce face session_create_id
session_create_id folosește același generator ca PHP pentru sesiuni, cu aceleași setări de lungime. Este folosită în handler-ele de sesiune proprii sau când vrei identificatori care încep cu un prefix (de exemplu ID-ul utilizatorului).
Prefixul poate conține doar litere, cifre, virgulă și minus.
Parametri
| Parametru | Descriere |
|---|---|
$prefix |
Opțional. Text pus la începutul identificatorului. |
Ce returnează
Identificatorul nou, sau false la eroare.
Exemple
Exemplul 1: Identificator cu prefix
<?php
$id = session_create_id("u42-");
echo $id . "\n";
echo strlen($id) . " caractere";
Rezultat posibil (diferă la fiecare rulare)
u42-0f0b0113227c1ede005a82bc1491c380
36 caractere
Greșeli frecvente
- Pui în prefix date sensibile (email, rol). Identificatorul ajunge în cookie și poate fi citit de oricine are acces la browser.
Comenzi înrudite
session_id: Returnează identificatorul sesiunii curente sau, înainte de session_start, setează ce identificator să fie folosit.session_regenerate_id: Schimbă identificatorul sesiunii și păstrează datele. Se apelează la autentificare, contra atacurilor de tip session fixation.session_set_save_handler: Înlocuiește stocarea sesiunilor cu funcții proprii, de exemplu pentru a le salva în baza de date.