Pb avec $_COOKIE
Résolu
lamouchetsetse
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
lamouchetsetse Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
lamouchetsetse Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j’ai créer un petit script pour protéger mes session inspirer de ce tuto:
https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2918871-les-variable-de-session
mais il ne fonctionne que partiellement.
voici le script:
tout commence avec cette page:
ensuite la page qui fait les tests:
puis la derniere page:
Le problème ce trouve sur la dernière page, mes variables cookie et session ne sont jamais égales. Par contre sur la première page "indexTestNav.php" c'est toujours bon.
J'ai effectué ce test en aillant tout les fichier dans le même répertoire et la pas de soucis, ça marche dans tout les cas.
Ma question donc, comment faire pour que ça fonctionne quelque soit le répertoire ou ce trouvent les fichiers?
Merci beaucoup.
https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2918871-les-variable-de-session
mais il ne fonctionne que partiellement.
voici le script:
tout commence avec cette page:
<?php //indexTestNav.php include("testNav.php"); if(empty($_COOKIE['un'])) { echo 'pas de cookie<br/>'; demarre_session(); } elseif(isset($_COOKIE['un'])) { verif_session(); } ?> <!DOCTYPE html> <html> <head> <title>indexTestNav</title> <meta charset="utf-8"/> </head> <body> <header> <h1>indexTestNav</h1> </header> <section> <a href="testNav2/testNav2.php">testNav2.php</a><br/><br/> </section> </body> </html>
ensuite la page qui fait les tests:
<?php //testNav.php session_start(); if(empty($_SESSION['test'])) { $_SESSION['test'] = 0; //echo 'pas de cookie<br/>'; } function demarre_session() { $cookie_name = 'un'; $plusPlus = $_SESSION['test']++; setcookie($cookie_name, $plusPlus, time() + 60 * 30, null, null, false, true); $_SESSION['un'] = $plusPlus; //exit(); } function verif_session() { echo ' 2$_COOKIE[un] => '.$_COOKIE['un'].'<br/>'; echo ' 2$_SESSION[un] => '.$_SESSION['un'].'<br/><br/>'; if(isset($_COOKIE['un']) && isset($_SESSION['un']) && $_COOKIE['un'] == $_SESSION['un']) { demarre_session(); } else/*if(isset($_COOKIE['un']) && isset($_SESSION['un']) && $_COOKIE['un'] != $_SESSION['un'])*/ { echo 'session et cookie sont !=<br/><br/>'; } } ?>
puis la derniere page:
<?php //testNav2.php include("../testNav.php"); verif_session(); ?> <!DOCTYPE html> <html> <head> <title>testNav2</title> <meta charset="utf-8"/> </head> <body> <header> <h1>testNav2</h1> </header> <section> <a href="../indexTestNav.php">indexTestNav.php</a><br/><br/> </section> </body> </html>
Le problème ce trouve sur la dernière page, mes variables cookie et session ne sont jamais égales. Par contre sur la première page "indexTestNav.php" c'est toujours bon.
J'ai effectué ce test en aillant tout les fichier dans le même répertoire et la pas de soucis, ça marche dans tout les cas.
Ma question donc, comment faire pour que ça fonctionne quelque soit le répertoire ou ce trouvent les fichiers?
Merci beaucoup.
Configuration: Linux / Firefox 66.0