Problème avec les sessions avec php

Fermé
gahmed Messages postés 71 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 12 septembre 2018 - 28 juil. 2010 à 01:34
gahmed Messages postés 71 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 12 septembre 2018 - 29 juil. 2010 à 03:27
Bonjour,
j'ai un script d'authentification où je démarre une session lorsque l'authentification est réussie. Lorsque je démarre la session j'initialise 2 variables sessions( à voir sur le code)
authentification.php
<?php
if ((isset($_REQUEST["mdp"]))&&(isset($_REQUEST["log"]))){
$login=$_POST["log"];
$mdp=$_POST["mdp"];
if((is_string($login))&&(is_string($mdp))){
//connexion au serveur Mysql et sélection de la BDD
require("Connections/link.php");
//Formatage de la requête
$requete="select * from admins where login = '".$login."' and  mot_de_passe = '".$mdp."'";
//Exécution de la requête
$rslt=mysql_query($requete) or die(mysql_error()) ;
if(mysql_num_rows($rslt)==1){
$sid=session_id();
//Démarrer une session
session_start();
//Initialisation de variables sessions
$_SESSION['badge']=1;
$_SESSION["@_machine"]= $_SERVER["REMOTE_ADDR"];
header ("location: bienvenu.php");

}
else{
echo "<br />login ou mot de passe incorrect............  ";
echo "<br />cliquer sur le lien pour retourner <a href='index.html'>RETOUR</a>";
}
}
}
?>

J'ai un script pour la déconnexion que je peux sur toutes mes pages voici le script

deconnexion.php
<?php
//prolongement de la session
session_start();
//Destruction de toutes les variables de session
$_SESSION[]=array();
//destruction de la session
session_destroy();
//redirection vers la page d'acceuil
echo 'Déconnection Réussi !!<br> Vous allez être redirigez<meta http-equiv=refresh content=3;URL=index.html>';
?>

Maintenant c'est là j'ai un problème lorsque qu'user se déconnecte quand il clique sur précédent il peut retourner sur l'application sans pour autant s'authentifier. Voici le script que j'ai mis sur toutes mes pages pour essayer d'apporter de la sécurité sur mon application
<?php
session_start();
/*Récupération du badge*/
if (($_SESSION["@_machine"] != $_SERVER["REMOTE_ADDR"])&&($_SESSION["badge"]!=1)){
	echo'ACCES INTERDIT';
  	echo'<br /><a href="index.html">ALLEZ-VOUS AUTHENTIFIER</a>';
}
?>

Mais ça ne donne rien.



4 réponses

Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
28 juil. 2010 à 08:53
Bonjour, tu as essayé d'afficher le contenu des variables que tu testes ?
$_SESSION["@_machine"]
$_SERVER["REMOTE_ADDR"]
$_SESSION["badge"]
0
gahmed Messages postés 71 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 12 septembre 2018 3
28 juil. 2010 à 16:40
oui pour $_SESSION["badge"] j'ai réussi à afficher le contenu qui est égale à 1 mais pour les autres variables j'ai pas eu affiché leur valeur
0
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
28 juil. 2010 à 17:04
ce qui veut dire que lorsque tu fais :

$_SESSION["@_machine"]= $_SERVER["REMOTE_ADDR"];


tu mets "rien" dans la variable $_SESSION["@_machine"]

donc, forcément cela ne marche pas ^^
0
gahmed Messages postés 71 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 12 septembre 2018 3
29 juil. 2010 à 03:27
mais si j'enlève $_SESSION["@_machine"]= $_SERVER["REMOTE_ADDR"]; j'ai toujours la même erreur à savoir:
Undefined index: badge in C:\wamp\www\applic\bienvenu.php on line 4
0