Tereta/Session Module

Overview

Session management module. A wrapper around PHP sessions with secure defaults.

Usage

use Tereta\Session\Services\Manager;

$session = Manager::singleton();
$session->start();

// Write and read
$session->set('user_id', 123);
$session->get('user_id'); // 123
$session->get('missing', 'default'); // 'default'

// Check and remove
$session->has('user_id'); // true
$session->remove('user_id');

// Session management
$session->regenerateId(); // new ID (after authentication)
$session->destroy(); // end session

Security

No configuration required — the module automatically applies:

  • HttpOnly — cookie inaccessible from JavaScript
  • SameSite=Lax — CSRF protection
  • Strict mode — rejects uninitialized session IDs
  • Secure — HTTPS-only transmission (auto-detected)
  • No-cache — prevents caching of session pages

Author and License

Author: Tereta Alexander
Website: tereta.dev
License: Apache License 2.0. See LICENSE.

 www.████████╗███████╗██████╗ ███████╗████████╗ █████╗
     ╚══██╔══╝██╔════╝██╔══██╗██╔════╝╚══██╔══╝██╔══██╗
        ██║   █████╗  ██████╔╝█████╗     ██║   ███████║
        ██║   ██╔══╝  ██╔══██╗██╔══╝     ██║   ██╔══██║
        ██║   ███████╗██║  ██║███████╗   ██║   ██║  ██║
        ╚═╝   ╚══════╝╚═╝  ╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝
                                                      .dev

Copyright (c) 2024-2026 Tereta Alexander