Problème de déconnexion cookies php
Ferméyg_be Messages postés 23417 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 janvier 2025 - 3 déc. 2023 à 10:49
- Problème de déconnexion cookies php
- Supprimer les cookies - Guide
- Easy php - Télécharger - Divers Web & Internet
- Déconnexion intempestive wifi - Guide
- Freebox deconnexion - Forum Freebox
- Extension refuser cookies - Guide
3 réponses
28 nov. 2023 à 19:33
Bonjour,
Procédure sur chrome afin de supprimer les cookies:
- Sur votre ordinateur, ouvrez Chrome.
- En haut à droite, cliquez sur Plus .
- Cliquez sur Plus d'outils. Effacer les données de navigation.
- En haut de la page, choisissez une période. ...
- Cochez les cases face à "Cookies et données de site" et "Images et fichiers en cache".
- Cliquez sur Effacer les données
28 nov. 2023 à 19:47
PS: es que j'utilise MYsql ?
28 nov. 2023 à 19:57
bonjour,
Je ne vois pas l'avantage de supprimer les cookies. Tu ne peux de toutes façons pas faire confiance à ce que fait le navigateur.
Il me semble amplement suffisant de supprimer les variables de sessions. Une fois que tu as fait cela, les cookies n'ont plus aucune valeur.
29 nov. 2023 à 13:13
comment supprimer le cookies de l'utilisateur ?
29 nov. 2023 à 14:34
Il n'est pas utile de supprimer les cookies de l'utilisateur. De toutes façons, tu ne peux jamais être certain que l'utilisateur a vraiment supprimé ces cookies.
Il est amplement suffisant de supprimer les variables de session, cela retire toute valeur aux cookies de l'utilisateur.
30 nov. 2023 à 12:34
et comment faire parce que Jai un chat mais je veux quille vérifié si la personne existe toujours parce que même une fois connecter est quand je le supprime sons compte sa le déconnecte pas et il peut toujours commenter
<?php session_start(); // Vérifier si l'utilisateur est connecté if (!isset($_SESSION['nom_utilisateur'])) { echo "Vous devez être connecté pour envoyer un message."; exit(); } $message = $_POST['message'] ?? ''; $ip = $_SERVER['REMOTE_ADDR']; // Récupère l'adresse IP du client if ($message !== '') { $timestamp1 = date('H:i:s'); $timestamp2 = date('Y-m-d H:i:s'); $utilisateur_connecte = $_SESSION['nom_utilisateur']; // Format pour discussions1.txt (sans l'adresse IP) $message1 = "$timestamp1 - $utilisateur_connecte - " . htmlspecialchars($message) . "\n"; // Format pour discussions2.txt (avec l'adresse IP) $message2 = "$timestamp2 - $ip - $utilisateur_connecte - " . htmlspecialchars($message) . "\n"; // Enregistrement dans discussions1.txt file_put_contents('discussions1.txt', $message1, FILE_APPEND | LOCK_EX); // Enregistrement dans discussions2.txt file_put_contents('discussions2.txt', $message2, FILE_APPEND | LOCK_EX); } ?>
code pour te retrouver
<?php session_start(); session_set_cookie_params(0); // Vérifier si un cookie de connexion existe if (isset($_COOKIE["nom_utilisateur"])) { // Utiliser les informations du cookie pour établir la session $_SESSION["nom_utilisateur"] = $_COOKIE["nom_utilisateur"]; // Rediriger l'utilisateur vers la page d'accueil header("Location: accueil.php"); exit(); } // Vérifier si le formulaire de connexion a été soumis if ($_SERVER["REQUEST_METHOD"] == "POST") { // Récupérer les données du formulaire $identifiant = $_POST["identifiant"]; // Peut être le nom d'utilisateur ou l'adresse e-mail $mot_de_passe_fourni = $_POST["mot_de_passe"]; // Charger les utilisateurs depuis le fichier JSON $utilisateurs = json_decode(file_get_contents('../fichier/secure-5255124825/Compte/utilisateurs.json'), true); // Vérifier l'existence de l'utilisateur $utilisateur_trouve = false; foreach ($utilisateurs as $utilisateur) { if (($utilisateur['email'] == $identifiant || $utilisateur['nom'] == $identifiant) && password_verify($mot_de_passe_fourni, $utilisateur['mot_de_passe'])) { // Définir la session avec le nom d'utilisateur $_SESSION["nom_utilisateur"] = $utilisateur['nom']; // Définir un cookie de connexion setcookie("nom_utilisateur", $utilisateur['nom'], time() + 3600 * 24 * 30); // Expire dans 30 jours // Rediriger l'utilisateur vers la page d'accueil header("Location: accueil.php"); exit(); } } // Afficher un message d'erreur si l'authentification échoue echo "Identifiants invalides. Veuillez réessayer."; } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Connexion</title> </head> <body> <h1>Connexion</h1> <form method="post" action=""> <label for="identifiant">Nom d'utilisateur ou E-mail:</label> <input type="text" name="identifiant" required><br> <label for="mot_de_passe">Mot de passe:</label> <input type="password" name="mot_de_passe" required><br> <button type="submit">Se connecter</button> <!-- Ajout du bouton d'inscription avec le lien --> <button type="button" onclick="window.location.href='http://compte/inscription.php'">Inscription</button> </form> </body> </html>
30 nov. 2023 à 12:46
C'est une erreur de faire ceci:
$_SESSION["nom_utilisateur"] = $_COOKIE["nom_utilisateur"]
Cela permet facilement à l'utilisateur de tricher en envoyant un cookie.
30 nov. 2023 à 13:01
merci mais tu veut dire quoi par l'utilisateur de tricher en envoyant un cookie.
et non sa marche pas il peut plus commanter parce que le cookies sur la page marche pas je veut que le php verifie si le compte existe toujours
<?php session_start(); // Vérifier si l'utilisateur est connecté if (!isset($$_SESSION["nom_utilisateur"] = $_COOKIE["nom_utilisateur"])) { echo "Vous devez être connecté pour envoyer un message."; exit(); } $message = $_POST['message'] ?? ''; $ip = $_SERVER['REMOTE_ADDR']; // Récupère l'adresse IP du client if ($message !== '') { $timestamp1 = date('H:i:s'); $timestamp2 = date('Y-m-d H:i:s'); $utilisateur_connecte = $_SESSION['nom_utilisateur']; // Format pour discussions1.txt (sans l'adresse IP) $message1 = "$timestamp1 - $utilisateur_connecte - " . htmlspecialchars($message) . "\n"; // Format pour discussions2.txt (avec l'adresse IP) $message2 = "$timestamp2 - $ip - $utilisateur_connecte - " . htmlspecialchars($message) . "\n"; // Enregistrement dans discussions1.txt file_put_contents('discussions1.txt', $message1, FILE_APPEND | LOCK_EX); // Enregistrement dans discussions2.txt file_put_contents('discussions2.txt', $message2, FILE_APPEND | LOCK_EX); } ?>
28 nov. 2023 à 19:48
non depuis le php et es que j'utilise plutôt MYsql