Comment se déconnecter correctement
Résolu
programmeur php
Messages postés
46
Statut
Membre
-
programmeur php Messages postés 46 Statut Membre -
programmeur php Messages postés 46 Statut Membre -
Bonjour,
je travaille avec les sessions, et quand je veux déconnecter je clique un lien qui amène à une page de déconnexion qui détruit la session.
ce que je veux faire c'est le même principe que yahoo qui empêche l'internaute de revenir en arrière après la déconnexion de son compte et, et je sais pas qu'est-ce qu'il faut faire.
je travaille avec les sessions, et quand je veux déconnecter je clique un lien qui amène à une page de déconnexion qui détruit la session.
ce que je veux faire c'est le même principe que yahoo qui empêche l'internaute de revenir en arrière après la déconnexion de son compte et, et je sais pas qu'est-ce qu'il faut faire.
A voir également:
- Comment se déconnecter correctement
- Colombe souhaite utiliser cette image comme illustration. quel texte doit-elle ajouter pour attribuer correctement la photographie à son auteur ? - Forum Photofiltre
- Switch se déconnecte de la tv - Forum Nintendo Switch
- Wifi qui se deconnecte - Guide
- Pourquoi mon compte google se deconnecte tout le temps ? ✓ - Forum Google Chrome
- Un cable reseau n'est pas branché correctement ou est endommagé ✓ - Forum Windows 7
6 réponses
bonjour
vous ne m'avez compris. Ce que je veux dire c'est que la déconnexion se fait , mais au cas où le pc est utilisé par plusieurs personnes, ils peuvent accéder à ma session en utilisant le chemin d'accès qui amène à mes fichiers sans passer par le processus d'authentification.
voici le code d'authentification:
<?php
if (isset($_POST['login']) && isset($_POST['motdepasse'])) {
$login=$_POST['login'];
$mot=$_POST['motdepasse'];
//connexion
$connection= mysql_connect("localhost","root","");
$selection= mysql_select_db("bd");
$requete=mysql_query("select * from bd.table WHERE motdepasse LIKE '".$mot."' and login LIKE '".$login."' ");
$objet=mysql_fetch_object($requete);
if (is_object($objet))
{
session_start();
$_SESSION['login']=$login;
$_SESSION['motdepasse']=$mot;
header ('location:suppression.php');
}
else {
echo 'Accés refusé';
}
}
else {
echo 'vous devez inserez des valeurs';
}
?>
vous ne m'avez compris. Ce que je veux dire c'est que la déconnexion se fait , mais au cas où le pc est utilisé par plusieurs personnes, ils peuvent accéder à ma session en utilisant le chemin d'accès qui amène à mes fichiers sans passer par le processus d'authentification.
voici le code d'authentification:
<?php
if (isset($_POST['login']) && isset($_POST['motdepasse'])) {
$login=$_POST['login'];
$mot=$_POST['motdepasse'];
//connexion
$connection= mysql_connect("localhost","root","");
$selection= mysql_select_db("bd");
$requete=mysql_query("select * from bd.table WHERE motdepasse LIKE '".$mot."' and login LIKE '".$login."' ");
$objet=mysql_fetch_object($requete);
if (is_object($objet))
{
session_start();
$_SESSION['login']=$login;
$_SESSION['motdepasse']=$mot;
header ('location:suppression.php');
}
else {
echo 'Accés refusé';
}
}
else {
echo 'vous devez inserez des valeurs';
}
?>
Une méthode très simple serait de vérifier à chaque début de page devant être protégée par la session que les $_SESSION existent bien.
En clair :
Ainsi, si les deux variables de sessions ne sont pas présente (dans le cas où il n'y aurait aucune connexion préalablement effectuée ou dans le cas d'un session_destroy()), une redirection est faite vers la page de connexion.
EDIT :
Par contre, je pense qu'il est inutile de garder en mémoire le mot de passe. En effet, si la variable $_SESSION['login'] existe, c'est parce que le mot de passe était correct. La variable $_SESSION['motdepasse'] n'a donc aucune utilité.
En clair :
if(!isset($_SESSION['login']) && !isset($_SESSION['motdepasse']){
header('location:ma_page_de_connexion.php');
}
Ainsi, si les deux variables de sessions ne sont pas présente (dans le cas où il n'y aurait aucune connexion préalablement effectuée ou dans le cas d'un session_destroy()), une redirection est faite vers la page de connexion.
EDIT :
Par contre, je pense qu'il est inutile de garder en mémoire le mot de passe. En effet, si la variable $_SESSION['login'] existe, c'est parce que le mot de passe était correct. La variable $_SESSION['motdepasse'] n'a donc aucune utilité.
comment peut-on faire une redirection vers la page de connexion, et où peut-on mettre le code de redirection?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai mis votre code, voilà le code complet:
<?php
session_start();
if(!isset($_SESSION['login']) && !isset($_SESSION['motdepasse']){
header('location:connexion.php');
}
?>
<!DOCTYPE html><!--cela signifie que la page est ecrite en HTML5.-->
<html lang='ar' dir='ltr'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title></title>
<title>Premiers tests du CSS</title>
<link rel='shortcut icon' type='image/x-icon' href='../mouse.jpg' />
</head>
<body>
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "cripe" ) ;
mysql_query("SET NAMES 'UTF8'");
//création de la requête SQL:
echo'<table>
<TR><th> </th><th> Nom</th><th> Prenom</th></TR>';
$requete= mysql_query("SELECT * FROM cripe.abonne");
while($data=mysql_fetch_object($requete)) {
echo '<form action="receptionsuppression.php" method="GET"><tr><td><input type="checkbox" name="monchamp[]" value="',$data->id,'"></td><td>',$data->nom,'</td><td>',$data->prenom,'</td></tr>';}
mysql_free_result($requete);
echo'<tr><td><input type="submit" value="Supprimer" align="center"></td><td><input type="reset" value="Annuler" align="center"></td></tr>';
echo'</form>';
echo'</table>';
?>
il m'a écrit:
Parse error: syntax error, unexpected '{' in C:\...\suppression.php on line 3
<?php
session_start();
if(!isset($_SESSION['login']) && !isset($_SESSION['motdepasse']){
header('location:connexion.php');
}
?>
<!DOCTYPE html><!--cela signifie que la page est ecrite en HTML5.-->
<html lang='ar' dir='ltr'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title></title>
<title>Premiers tests du CSS</title>
<link rel='shortcut icon' type='image/x-icon' href='../mouse.jpg' />
</head>
<body>
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "cripe" ) ;
mysql_query("SET NAMES 'UTF8'");
//création de la requête SQL:
echo'<table>
<TR><th> </th><th> Nom</th><th> Prenom</th></TR>';
$requete= mysql_query("SELECT * FROM cripe.abonne");
while($data=mysql_fetch_object($requete)) {
echo '<form action="receptionsuppression.php" method="GET"><tr><td><input type="checkbox" name="monchamp[]" value="',$data->id,'"></td><td>',$data->nom,'</td><td>',$data->prenom,'</td></tr>';}
mysql_free_result($requete);
echo'<tr><td><input type="submit" value="Supprimer" align="center"></td><td><input type="reset" value="Annuler" align="center"></td></tr>';
echo'</form>';
echo'</table>';
?>
il m'a écrit:
Parse error: syntax error, unexpected '{' in C:\...\suppression.php on line 3