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 28/05/2007, 00h53   #1
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Par défaut [Sécurité] Déconnexion d'un page protégée par un login et un passe

salut, j'ai crée un site, et j'ai fait des page protéger, et tous marche bien, mais lorsque je me déconnecte et que j e clique sur précedent je retourne sur la page protégé, svp donner moi des solutions.
yassine.khe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 01h44   #2
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
Quel est ta méthode d'authetification ? HTACCESS ou sessions ?
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 11h00   #3
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
j'utilise la une session pour enregistrer le login lors de la connexion,et je detruit la session lors de la déconnexion mais j'ai toujours le même probleme
yassine.khe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 12h01   #4
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
Tu as mis des conditions dans tes pages protégées ?

Du style :

Code :
1
2
3
4
5
6
7
8
9
 
//Quand le mot de passe et login est bon, tu initialise la variable
//de SESSION 'login' à 'yes' ou autre.....
if(isset($_SESSION['login']) && $_SESSION['login']=="yes"){
//Toute ta page ici.....
//En fin de page :
}else{
echo "vous n'êtes pas auttorisé à voir cette page";
}
Comme ca, quand tu détruis ta SESSION, tu détruit en même temp la variable "login", donc la personne n'aura que le message "vous n'êtes pas autorisé à voir cette page....
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 12h50   #5
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
oui j'ai bien placer la verification, mais si je me déconnecte et je clique sur précedant il revien sur la page
yassine.khe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 13h00   #6
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
t'as fais un unset sur tes variables de sessions

alors fais un echo dessus pour voir si elle sont toujours dedans
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 13h04   #7
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
...Parce que normlement, un session_destroy et c'est bon.... J'ai une appli qui tourne comme ca, et je n'ai pas ce genre de PB....
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 13h33   #8
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
oui c'est vrai que moi ossi j'utilise le session_destroy()
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 13h36   #9
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
nn j'ai pas fais un unset mais j'ai ecrasé les variable de la session puis je l'ai detruis, mon code de déconnexion est
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
session_start();
 
$_SESSION = array();
 
session_destroy();
 
header("location:Assgrle_login.htm");
?>
yassine.khe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 14h31   #10
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
Citation:
Envoyé par yassine.khe
nn j'ai pas fais un unset mais j'ai ecrasé les variable de la session puis je l'ai detruis, mon code de déconnexion est
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
session_start();
 
$_SESSION = array();
 
session_destroy();
 
header("location:Assgrle_login.htm");
?>
...Tu devrais essayé un Session_destroy sans autres formalités......

Mes codes de déconnexion sont comme ceci :

Code :
1
2
3
4
5
6
7
 
session_start();
if (isset($_GET['deconnect']) && $_GET['deconnect']=="yes"){
	session_destroy();
	header("Location: http://www.index.php");
	exit();
}
...Et peut-être essayé la redirection Header en absolue, avec http:// plutot que relatif...
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 17h05   #11
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Par défaut j'ai essayer mais ca pas marché

je ne sais pas ce que je dois faire pour corriger ce probleme

mon code:

connection.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
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
 
<?php
 
$server="localhost";
$data_base="connection";
$sql_login="root";
$sql_pass="";
 
//on verifier si les données ont été postées
if(isset($_POST) && (!empty($_POST['log'])) && (!empty($_POST['pw'])))
{
 
	extract($_POST); 
	$cnt=mysql_connect($server,$sql_login,$sql_pass) or die('Erreur SQL !<br>'.mysql_error());  
	mysql_select_db($data_base,$cnt);
 
	$req=mysql_query("select * from user where login='$log' and passe='$pw'");
 
	$nb=mysql_num_rows($req);
 
 
 
	if($nb==1)
	{	
		session_start();
		$_SESSION['l_session']=$_POST['log'];
		$_SESSION['p_session']=$_POST['pw'];
 
		$adm=mysql_query("select * from user where  login='$log' and admine=1 ");
		$nb_adm=mysql_num_rows($adm);
		mysql_close($cnt);
		if($nb_adm==1)
			include('Assgrle_afficher_admine.php');
		else
			include('Assgrle_afficher_user.php');
 
	}
	else
	{
 
		include('Assgrle_login_err.htm');
	}
}
else
{
	include('Assgrle_login_vid.htm');
}
 
 
?>
log_out.php
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
session_start();
 
// On écrase le tableau de session
$_SESSION = array();
// On détruit la session
session_destroy();
 
header("Location: Assgrle_login.htm");
?>
ma page securisé
Code :
1
2
3
4
5
6
7
8
 
<?php
if(!isset($_SESSION['l_session']))
include('Assgrle_login.htm');
?>
.
.
.
j'ai besoin d'aide
yassine.khe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 17h10   #12
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
....Le include et le Header ont des applications différentes......

Un header redirige vers une page complète, alors que le include inclue en lieu et place choisi.....
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h41.


 
 
 
 
Partenaires

Hébergement Web