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 29/01/2007, 16h29   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 77
Points : 14
Points : 14
Par défaut [Sécurité] PB de Connexion

Bonjour,
Je viens de créer un page connexion dans laquelle l'utilisateur doit saisir son login et mot de passe pour accéder a un espace privé.Une fois déconnecter l'utilisateur peut retourner sur cet espace privé avec les flèches du navigateur sans repasser par la page de connexion.
Comment faire pour le forcer a repasser obligatoirement par cette page de connexion ?
olivier94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 16h33   #2
Membre actif
 
Inscription : août 2002
Messages : 194
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 194
Points : 194
Points : 194
Envoyer un message via MSN à Léortien
comment fonctionne ton identification?

par session?
par autre chose?

si c'est par session il faut peut être bien vérifier qu'une fois qu'il se déconnecte sa session est détruite (et donc s'il revient en arrière son identifiant de session a beau ne pas avoir changé il n'y a pas de session sur le serveur qui y est liée.. et donc il se fait éjecter)
__________________
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait.
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.


Spidercochon, spidercochon, il peut marcher au plafond
...MM ......Voici Spidercochon. Aidez le à conquérir le monde
E(....)~....en le reproduisant.
...w
Léortien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 16h47   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 77
Points : 14
Points : 14
Par session
Je vérifie mais je crois que ma déconnection s'effectuait mal
Merci
olivier94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 16h55   #4
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Bonjour,

montres-nous comme tu détruis tes sessions.
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 17h10   #5
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 77
Points : 14
Points : 14
En fait je vais de faire un test et je ne detruits rien du tout
Voici mon code :
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
<?php require_once('../Connections/ConnexionMediatheque.php'); ?>
<?php
//initialize the session
session_start();
 
// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
  $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}
 
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
  //to fully log out a visitor we need to clear the session varialbles
  session_unregister('MM_Username');
  session_unregister('MM_UserGroup');
 
  $logoutGoTo = "../Index.php";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
  }
}
?>
 
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="3" class="L1"><p>Mode Connecter</p>
      <p>Gestion de DVD,CD,Livres ...</p></td>
  </tr>
  <tr class="L2">
    <td class="L2C1"><?php $date=get_date(); echo"$date"; ?></td>
    <td class="L2C2">
      <div id="navcontainer">
		<ul id="navlist">
		<li id="active"><a href="Index.php" id="current">Accueil</a></li>
		<li><a href="<?php echo $logoutAction ?>" style="color:#FF0000">Déconnexion</a></li>
		</ul>
</div></td>
olivier94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 17h14   #6
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Quand l'utilisateur clique sur déconnexion il faut que tu l'envoies sur un session_destroy(); ...
Sinon tu aura le problème que tu as ...

P.s : les balises [CODE]
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 18h51   #7
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 77
Points : 14
Points : 14
Peux tu détailler un peu plus ce que je dois faire
Merci
olivier94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 19h49   #8
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Regarde ici :')

Bonne soirée.
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 20h18   #9
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 77
Points : 14
Points : 14
Cela ne marche pas je peux toujour naviguer avec les fleches du navigateur meme une fois deconnecter
Voici ma parti de code de déconnection:
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
<?php
 
session_start();
 
 
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
  $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
 
}
 
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
 
  session_unregister('MM_Username');
  session_unregister('MM_UserGroup');
 
  $logoutGoTo = "../Index.php";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    session_destroy();
 
  }
}
?>
olivier94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 21h02   #10
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Une hypothèse :
Le problème ne viendrait pas de ta déconnexion mais de ton manque de sécurité.
Je pense qu'il est possible d'accéder à tes pages sans être connecté. (Essaye, tu me dira si c'est juste ou non).

Sinon il faudrait être plus rigoureux au niveau de ta façon de codé :
1 - Il faut éviter les majuscules dans les urls.
2 - Il faut éviter d'utiliser les " " et leurs préférer ' '.
3 - Il est préférable d'écrire './../index.php' que "../Index.php"
4 - Il ne faut pas mettre de & dans l'url, il vaut mieux utiliser &amp;.
5 - Il faut mieux ne plus utiliser session_unregister().

Bonne soirée
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 11h15   #11
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 77
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 77
Points : 14
Points : 14
Merci
olivier94 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 01h15.


 
 
 
 
Partenaires

Hébergement Web