Comment se déconnecter correctement
Résolu
programmeur php
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
programmeur php Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
programmeur php Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Comment se déconnecter correctement
- Wifi qui se deconnecte - Guide
- Un cable reseau n'est pas branché correctement ou est endommagé ✓ - Forum Windows 7
- Colombe souhaite utiliser cette image comme illustration. quel texte doit-elle ajouter pour attribuer correctement la photographie à son auteur ? - Forum Photofiltre
- Pourquoi mon compte google se deconnecte tout le temps ? ✓ - Forum Google Chrome
- La fenetre actuelle est trop petite pour afficher correctement cette feuille - Forum Google Docs
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