GlosarioSeguridad

¿Qué es Session?

Las Sessions en Laravel permiten almacenar informacion del usuario entre peticiones HTTP, con soporte para drivers como archivos, cookies, base de datos, Memcached y Redis.

Session (Sesiones)

Las sesiones permiten almacenar informacion del usuario a traves de multiples peticiones HTTP. Laravel soporta varios drivers y proporciona una API unificada para trabajar con ellos.

Uso basico

// Almacenar datos en la sesion
session(['cart_count' => 5]);
session()->put('user_preferences', ['theme' => 'dark', 'lang' => 'es']);

// Obtener datos
$value = session('cart_count');
$value = session('missing_key', 'default');
$prefs = session()->get('user_preferences');

// Flash data (solo disponible en la siguiente peticion)
session()->flash('success', 'Perfil actualizado correctamente.');
return redirect()->back()->with('success', 'Guardado');

// Eliminar datos
session()->forget('cart_count');
session()->flush(); // Eliminar todo

En controladores

public function update(Request $request)
{
    // Actualizar perfil...

    $request->session()->regenerate(); // Regenerar ID (seguridad)

    return redirect()->route('profile')
        ->with('status', 'Perfil actualizado.');
}

Configuracion

El driver de sesion se configura en .env con SESSION_DRIVER. Para produccion se recomienda redis o database. Las sesiones de archivo funcionan bien para aplicaciones pequenas.

Laravel gestiona automaticamente la sesion mediante cookies seguras y encriptadas, protegiendo contra session fixation y otros ataques.