remember me
Deploy HouseHub / deploy (push) Successful in 2s

This commit is contained in:
FeFeClochette committed 2026-08-26 19:02:39 +02:00
1 parent f19a7442de
commit b3139b577a
7 files changed
+88 -2

No files matched your search

+19
View File
@@ -51,6 +51,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$_SESSION['family_db'] = $user['db_name'];
$_SESSION['app_lang'] = $user['lang'] ?? 'fr';
$_SESSION['enabled_modules'] = json_decode($user['enabled_modules'] ?? '["calendar","budget","holidays","gifts","calendar_ios"]', true);
// --- NOUVEAU : Logique "Se souvenir de moi" ---
if (isset($_POST['remember_me']) && $_POST['remember_me'] === '1') {
$token = bin2hex(random_bytes(32)); // Token aléatoire sécurisé
$hashedToken = hash('sha256', $token); // On stocke le hash en BDD
$meta_pdo->prepare("UPDATE users SET remember_token = ? WHERE id = ?")->execute([$hashedToken, $user['id']]);
// Création du cookie sécurisé (Expire dans 30 jours, HTTPOnly)
$cookieValue = $user['id'] . ':' . $token;
setcookie('hh_remember', $cookieValue, time() + (86400 * 30), '/', '', isset($_SERVER['HTTPS']), true);
}
// ----------------------------------------------
$redirectTo = $_GET['redirect'] ?? '/index.php';
header('Location: ' . $redirectTo);
exit;
@@ -95,6 +109,11 @@ require __DIR__ . '/header.php';
required placeholder="••••••" autocomplete="current-password">
</div>
<div class="pf-form-group" style="display: flex; align-items: center; gap: 8px;">
<input type="checkbox" id="remember_me" name="remember_me" value="1" class="pf-checkbox-lg">
<label class="pf-label" for="remember_me" style="margin: 0; cursor: pointer;"><?= tr('login_remember_me') ?? 'Se souvenir de moi' ?></label>
</div>
<button type="submit" class="pf-btn pf-btn-block">
<?= tr('btn_login_submit') ?>
</button>