-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathauthenticate.php
More file actions
44 lines (35 loc) · 1.75 KB
/
authenticate.php
File metadata and controls
44 lines (35 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
session_start();
// Remplacez 'admin' par le nom d'utilisateur souhaité.
$valid_username = 'admin';
// Remplacez cette chaîne par le HACHAGE du mot de passe que vous avez généré.
$hashed_password = '';
// Récupérer les données du formulaire.
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
// Vérifier les informations de connexion.
if ($username === $valid_username && password_verify($password, $hashed_password)) {
// Les informations sont correctes, démarrer la session.
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
// Vérifier si la case à cocher "Se souvenir de moi" a été cochée.
if (isset($_POST['rememberMe']) && $_POST['rememberMe'] == 'on') {
// Définir un cookie pour se souvenir de l'utilisateur pendant 30 jours.
// C'est une méthode simple, un système de jeton (token) est plus sécurisé en production.
$cookie_duration = time() + (30 * 24 * 60 * 60); // 30 jours
// Créez un jeton unique et sécurisé pour l'authentification.
// Pour cet exemple simple, nous utilisons le nom d'utilisateur, mais un token aléatoire est plus sûr.
$token = hash('sha256', $username . time() . 'votre_cle_secrete_ici');
// Définir le cookie
setcookie('auth_token', $token, $cookie_duration, '/');
// IMPORTANT: En production, vous devriez également stocker ce token dans une base de données
// pour le valider ultérieurement.
}
header('Location: index.php'); // Rediriger vers la page d'accueil.
exit;
} else {
// Les informations sont incorrectes, rediriger vers la page de connexion avec une erreur.
header('Location: login.php?error=1');
exit;
}
?>