PHP 8.4.2 Released!

session_id

(PHP 4, PHP 5, PHP 7, PHP 8)

session_idObtener y/o establecer el id de sesión actual

Descripción

session_id(string $id = ?): string

session_id() se usa para obtener o establecer el id de sesión para la sesión actual.

La constante SID también se puede usar para recuperar el nombre y la sesión actuales como una cadena apropiada para añadir a las URL. Véase también Manejo de Sesiones.

Parámetros

id

Si se especifica id, reemplazará el id de sesión actual. session_id() necesita ser llamado antes de session_start() para este propósito. Dependiendo del gestor de sesión, no todos los caracteres están permitidos dentro del id de sesión. Por ejemplo, el gestor de archivo de sesión ¡sólo permite caracteres en el rango a-z A-Z 0-9 , (coma) y - (menos)!

Nota: Cuando se usan cookies de sesión, especificar un id para session_id() enviará siempre una nueva cookie cuando se llame a session_start(), sin importar si el id de sesión actual es idéntico al que se va a establecer.

Valores devueltos

session_id() devuelve el id de sesión para la sesión actual o la cadena vacía ("") si no hay sesión actual (no existe id de sesión actual).

Ver también

add a note

User Contributed Notes 1 note

up
42
Riikka K
9 years ago
It may be good to note that PHP does not allow arbitrary session ids. The session id validation in PHP source is defined in ext/session/session.c in the function php_session_valid_key:

https://github.com/php/php-src/blob/master/ext/session/session.c

To put it short, a valid session id may consists of digits, letters A to Z (both upper and lower case), comma and dash. Described as a character class, it would be [-,a-zA-Z0-9]. A valid session id may have the length between 1 and 128 characters. To validate session ids, the easiest way to do it use a function like:

<?php

function session_valid_id($session_id)
{
return
preg_match('/^[-,a-zA-Z0-9]{1,128}$/', $session_id) > 0;
}

?>

session_id() itself will happily accept invalid session ids, but if you try to start a session using an invalid id, you will get the following error:

Warning: session_start(): The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,'
To Top