35330-vm/includes/session.php
Flatlogic Bot 07e06596db versao 4
2025-10-29 15:00:42 +00:00

37 lines
1.1 KiB
PHP

<?php
// Define um nome de sessão específico para a aplicação
$session_name = 'flatlogic_app_session';
session_name($session_name);
// Determina se a conexão é segura, considerando o proxy reverso (Cloudflare)
$is_secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ||
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https');
// Configurações de segurança para o cookie da sessão
if ($is_secure) {
// Configuração para produção sob HTTPS (essencial para proxies)
session_set_cookie_params([
'lifetime' => 0,
'path' => '/',
'domain' => '',
'secure' => true,
'httponly' => true,
'samesite' => 'None' // 'None' requer 'secure' => true
]);
} else {
// Configuração para desenvolvimento local (HTTP)
session_set_cookie_params([
'lifetime' => 0,
'path' => '/',
'domain' => '',
'secure' => false,
'httponly' => true,
'samesite' => 'Lax'
]);
}
// Inicia a sessão
if (session_status() == PHP_SESSION_NONE) {
session_start();
}