IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] demande aide pour ma fonction session_destroy() fonctionne


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut oublie de la fonction destroy()
    desolé j ai oublier le plus important

    logout.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $_SESSION = array();
    session_destroy();
    ?>

  3. #3
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    euh..; corrige-moie si je me trompe mais avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <? require(logout.php); ?>
    le probleme viendrait pas de la?
    mais pourquoi tu cours?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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!!!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 77
    Points : 57
    Points
    57
    Par défaut
    essaie en mettant

    au début de ton fichier logout.php

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/10/2006, 13h05
  2. developpeur c++ demande aide pour création d'un pieton 3D
    Par fumidu dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 29/05/2006, 17h51
  3. HELP! Demande aide pour petit site à réaliser en ASP et JS
    Par itachi64 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/03/2006, 09h06
  4. Réponses: 2
    Dernier message: 11/03/2006, 19h34
  5. demande aide pour XML/XSL
    Par Jarod51 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/01/2006, 19h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo