Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2006, 12h00   #1
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut [Sécurité] demande aide pour ma fonction session_destroy() fonctionne

Bonjour

J ai une problème avec ma session_destroy(). Je n'arrive pas à détruire la session lorsque le navigateur est coupé. Je sais faire une session_destroy classique qui fonctionne. Mais je n'arrive pas à l'adapter et la faire fonctionner dans un code plus complexe. est ce du à sa position ? Normal c'est à la fin. Lorsque que je ferme le navigateur, et que je le re-ouvre avec la page resultat sans passer par le portail, normalement je ne devrai plus avoir de session. Et la non elle est toujours en mémoire et la page s'affiche.

Pouvez-vous me dire ou est l'erreur et me donner la solution ?

portail.html
Code :
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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Portail d'acces</title>
</head>
<body>
<body>
<form method="post" action="traitement_pro.php">
	<table>
		<tr>
			<td>
				Login
			</td>
			<td>
				<input type="text" name="login" />
			</td>
		</tr>
		<tr>
			<td>
				Mot de Passe
			</td>
			<td>
				<input type="password" name="mdp" />
			</td>
		</tr>
		<tr>
			<td>
				Cliquez sur Inscription 
			</td>
			<td>
				<a href="inscription_pro.php">Inscription</a>
			</td>
		</tr>
		<tr>
			<td colspan="2" align="center">
				<input type="submit" value="Valider" />
			</td>
		</tr>
	</table>
</form>
</body>
</html>
traitement.php
Code :
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
 
<?php
	session_start();
	$db = mysql_connect("localhost","root","");
	mysql_select_db("essai");
	$login = $_POST["login"];
	$mdp = $_POST["mdp"];
	$sql = "select c.page from fr_categorie_session c, fr_entreprise a where c.categorie = a.categorie";
	$sql = $sql . " And a.login = '".($login)."' And a.mdp = '".($mdp)."' ";
	$cyril = mysql_query($sql,$db);
	$row = mysql_fetch_object($cyril);
	//echo $row->page;
	if (isset($row->page)) {
		// bon
         $_SESSION['$mdp'] = ($mdp);
		header("location:".$row->page);
	}
	else
	{
		// pas bon
		$_SESSION["cpt"] += 1;
		header("location:portail.html");
	}
?>
<? require(logout.php); ?>
3.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<? session_start() ?>
<? echo 'variable session : ',$_SESSION['$mdp'],'<br />'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
</body>
</html>
bd
Code :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
-- 
-- Serveur: localhost
-- Généré le : Lundi 13 Mars 2006 à 11:52
-- Version du serveur: 4.1.9
-- Version de PHP: 4.3.10
-- 
-- Base de données: `essai`
-- 
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `fr_categorie_session`
-- 
 
CREATE TABLE `fr_categorie_session` (
  `categorie` int(2) NOT NULL auto_increment,
  `page` text NOT NULL,
  `compte` text NOT NULL,
  `session` text NOT NULL,
  PRIMARY KEY  (`categorie`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
 
-- 
-- Contenu de la table `fr_categorie_session`
-- 
 
INSERT INTO `fr_categorie_session` VALUES (3, '3.php', 'compte_r.php', 'entreprise');
 
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `fr_entreprise`
-- 
 
CREATE TABLE `fr_entreprise` (
  `num_entreprise` int(11) NOT NULL auto_increment,
  `login` text NOT NULL,
  `mdp` text NOT NULL,
  `categorie` int(2) NOT NULL default '0',
  `date_inscription` text NOT NULL,
  `nom_entreprise` text NOT NULL,
  `siret` text NOT NULL,
  `adresse` text NOT NULL,
  `code_postal` text NOT NULL,
  `ville` text NOT NULL,
  `telephone` text NOT NULL,
  `fax` text NOT NULL,
  `email` text NOT NULL,
  `site_internet` text NOT NULL,
  PRIMARY KEY  (`num_entreprise`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
 
-- 
-- Contenu de la table `fr_entreprise`
-- 
 
INSERT INTO `fr_entreprise` VALUES (3, 'cyril', '123456', 3, '07 Mar 7 12 : 02 : 54', 'IBE', '12345678912345', '11 Rue Général Lasserre', '40000', 'Mont de Marsan', '0558450603', '0558450604', 'ibe40@adsl.fr', 'ibe40.net');
Voila.
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 12h30   #2
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut oublie de la fonction destroy()

desolé j ai oublier le plus important

logout.php
Code :
1
2
3
4
5
 
<?php
$_SESSION = array();
session_destroy();
?>
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 12h39   #3
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
euh..; corrige-moie si je me trompe mais avec ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
 if (isset($row->page)) {
      // bon
         $_SESSION['$mdp'] = ($mdp);
      header("location:".$row->page);
   }
   else
   {
      // pas bon
      $_SESSION["cpt"] += 1;
      header("location:portail.html");
   }
le code n'arrive jamais jusqu'à
Code :
<? require(logout.php); ?>
le probleme viendrait pas de la?
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 15h00   #4
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut reponse

J ai tenté de mettre le code de destruction de la session ailleur . La ca bloque carrément je n'affiche pas la page 3.php. j ai un retour immediat au portail.html

exemple

Code :
1
2
3
4
 
         $_SESSION['$mdp'] = ($mdp);
		header("location:".$row->page);
		require(logout.php);
est il possible de faire appel a la fonction destroy non pas dans le traitement comme la, mais dans la page 3.php

merci!!!
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 15h21   #5
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 69
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : février 2005
Messages : 69
Points : 27
Points : 27
essaie en mettant

au début de ton fichier logout.php
denn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h15.


 
 
 
 
Partenaires

Hébergement Web