Création d'un système d'authentification sécurisé en utilisant: php , sql , js

Introduction: Dans le cadre de notre apprentissage du développement web, nous avons choisi de réaliser un projet de bibliothèque en ligne. Ce projet vise à permettre aux utilisateurs de découvrir, consulter et accéder notre site web. Nous avons choisi ce projet de bibliothèque pour travailler dessus en appliquant le concept d'authentification. Objectif principal: L'objectif principal de ce projet est de mettre en place un système d'authentification sécurisé, relié à une base de données, afin de gérer l'accès des utilisateurs. De plus, nous nous concentrons sur la sécurisation des formulaires de toutes les pages du site en utilisant PHP pour éviter toute faille de sécurité (injections SQL, failles XSS, etc.). Comme vous voyez aux images Ci-dessous: Pour cette image, nous avons traité la première page : c'est l'interface qui s'affiche aux utilisateurs. Et dans la deuxième, nous avons réalisé la page "login". et la Dernière page : les utilisateurs qui veulent s'enregistrer sur notre site. Architecture du Projet: /bibliotheque |-- index.php ------------>Page d'accueil |-- register.php ------------>Authentification |-- profile.php------------>Espace membre |-- logout.php------------>Déconnexion |-- config.php------------>Configuration DB |-- /uploads------------>Stockage des avatars Fonctionnalités: 1.Inscription / Connexion sécurisées avec hachage des mots de passe (password_hash). Inscription: "php $password = password_hash($password_plain, PASSWORD_DEFAULT); $stmt = $pdo->prepare("INSERT INTO users (...) VALUES (...)");" 2.Validation et nettoyage des données saisies par les utilisateurs (htmlspecialchars, mysqli_real_escape_string...). Inscription: "php if ($user && password_verify($password, $user['password'])) { $_SESSION['user'] = $user['id']; header("Location: profile.php"); } " 3.Gestion des sessions pour maintenir la connexion de l'utilisateur en toute sécurité. Inscription: "php session_start(); if (!isset($_SESSION['user'])) { header("Location: login.php"); exit; }" Comme vous voyez aux images Ci-dessous: Technologies utilisées: HTML / CSS : Pour la structure et le design . PHP : Pour la logique serveur et la gestion de la sécurité. MySQL : Pour la gestion des utilisateurs et des livres. JavaScript: Pour améliorer l'interactivité et mettre la page plus dynamique . Conclusion: À travers ce projet, nous renforçons nos bases en développement web tout en construisant un projet concret et utile. Nous comptons continuer à ajouter de nouvelles fonctionnalités comme : La création de profils utilisateurs personnalisés, L'amélioration de l'interface avec des animations modernes, et la sècurite des pages web.

Apr 29, 2025 - 00:16
 0
Création d'un système d'authentification sécurisé en utilisant: php , sql , js

Introduction:
Dans le cadre de notre apprentissage du développement web, nous avons choisi de réaliser un projet de bibliothèque en ligne.
Ce projet vise à permettre aux utilisateurs de découvrir, consulter et accéder notre site web.
Nous avons choisi ce projet de bibliothèque pour travailler dessus en appliquant le concept d'authentification.

Objectif principal:
L'objectif principal de ce projet est de mettre en place un système d'authentification sécurisé, relié à une base de données, afin de gérer l'accès des utilisateurs.
De plus, nous nous concentrons sur la sécurisation des formulaires de toutes les pages du site en utilisant PHP pour éviter toute faille de sécurité (injections SQL, failles XSS, etc.).
Comme vous voyez aux images Ci-dessous:

Image description

Pour cette image, nous avons traité la première page : c'est l'interface qui s'affiche aux utilisateurs.

Et dans la deuxième, nous avons réalisé la page "login".

Image description

et la Dernière page : les utilisateurs qui veulent s'enregistrer sur notre site.

Image description
Architecture du Projet:

/bibliotheque
|-- index.php ------------>Page d'accueil
|-- register.php ------------>Authentification
|-- profile.php------------>Espace membre
|-- logout.php------------>Déconnexion
|-- config.php------------>Configuration DB
|-- /uploads------------>Stockage des avatars

Fonctionnalités:
1.Inscription / Connexion sécurisées avec hachage des mots de passe (password_hash).
Inscription:
"php
$password = password_hash($password_plain, PASSWORD_DEFAULT);
$stmt = $pdo->prepare("INSERT INTO users (...) VALUES (...)");"

2.Validation et nettoyage des données saisies par les utilisateurs (htmlspecialchars, mysqli_real_escape_string...).
Inscription:
"php
if ($user && password_verify($password, $user['password'])) {
$_SESSION['user'] = $user['id'];
header("Location: profile.php");
}

"

3.Gestion des sessions pour maintenir la connexion de l'utilisateur en toute sécurité.
Inscription:
"php
session_start();
if (!isset($_SESSION['user'])) {
header("Location: login.php");
exit;
}"

Comme vous voyez aux images Ci-dessous:

Image description

Image description

Technologies utilisées:
HTML / CSS : Pour la structure et le design .

PHP : Pour la logique serveur et la gestion de la sécurité.

MySQL : Pour la gestion des utilisateurs et des livres.

JavaScript: Pour améliorer l'interactivité et mettre la page plus dynamique .

Image description

Conclusion:
À travers ce projet, nous renforçons nos bases en développement web tout en construisant un projet concret et utile.
Nous comptons continuer à ajouter de nouvelles fonctionnalités comme :
La création de profils utilisateurs personnalisés,
L'amélioration de l'interface avec des animations modernes,
et la sècurite des pages web.