Se delogger
Résolu
pontarose
Messages postés
150
Date d'inscription
Statut
Membre
Dernière intervention
-
pontarose Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
pontarose Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je sécurise l'accès a mon interface web par login et mot de passe.
Ma première page j'entre mon mot de passe et login
(si j'ai perdu mon mot de passe ou pour m'identifierpour la première fois cela m'ouvre d'autre onglets)
Une fois que je suis loggé j'ai accès a une page qui me dis que je me suis bien loggé, puis je click sur un bouton qui m'envoie vers la première page de mon interface. Sur cette première page de mon interface, je peux me délogger via un bouton logout.
Quand je clique sur logout je reviens donc a ma page d'accès login/mot de passe, mais si mes autres onglet sont ouvert cela ne les ferme pas et donc si quelqu'un vient il peux entrer dans mon interface.
en fait je ne sais pas comment faire.
Faudrait peutêtre que ma fonction logout soit interprété par les autres fenêtre???
On peut m'aider svp
Ma première page j'entre mon mot de passe et login
(si j'ai perdu mon mot de passe ou pour m'identifierpour la première fois cela m'ouvre d'autre onglets)
Une fois que je suis loggé j'ai accès a une page qui me dis que je me suis bien loggé, puis je click sur un bouton qui m'envoie vers la première page de mon interface. Sur cette première page de mon interface, je peux me délogger via un bouton logout.
Quand je clique sur logout je reviens donc a ma page d'accès login/mot de passe, mais si mes autres onglet sont ouvert cela ne les ferme pas et donc si quelqu'un vient il peux entrer dans mon interface.
en fait je ne sais pas comment faire.
Faudrait peutêtre que ma fonction logout soit interprété par les autres fenêtre???
On peut m'aider svp
20 réponses
Bonjour,
Comment est faite ta fonction logoout ? Ferme-t-elle la session en cours, ou se contente-t-elle de te rediriger vers la première page ?
Xavier
Comment est faite ta fonction logoout ? Ferme-t-elle la session en cours, ou se contente-t-elle de te rediriger vers la première page ?
Xavier
Ma fonction logout ferme la session en cours et me redirige vers la page ou j'entre mon mot de passe et login.
Je viens de me rendre compte qu'apparement ma session n'est pas ouverte car
une fois que je me suis bien loggé j'ouvre une session et je conserve le login soit, session start(); $_SESSION['login']=$login; exit();
puis dans ma page suivante donc j'ai:
>?php
session start();
print("vous êtes loggé sous :$login")
if(!isset($_SESSION['login']))
{
print("PBE");
}
else
{
print("GOOD");
}
?>
J'obtiens vous êtes loggé sous:
GOOD
Je viens de me rendre compte qu'apparement ma session n'est pas ouverte car
une fois que je me suis bien loggé j'ouvre une session et je conserve le login soit, session start(); $_SESSION['login']=$login; exit();
puis dans ma page suivante donc j'ai:
>?php
session start();
print("vous êtes loggé sous :$login")
if(!isset($_SESSION['login']))
{
print("PBE");
}
else
{
print("GOOD");
}
?>
J'obtiens vous êtes loggé sous:
GOOD
salut,
on est loin du compte, là !
-;o)
je te conseille de beaucoup lire sur les sessions, ce n'est pas forcement très compliqué mais c'est une composante vitale d'un site dynamique donc autant ne pas passer à côté.
je te conseille en particulier ce tuto.
on est loin du compte, là !
-;o)
je te conseille de beaucoup lire sur les sessions, ce n'est pas forcement très compliqué mais c'est une composante vitale d'un site dynamique donc autant ne pas passer à côté.
je te conseille en particulier ce tuto.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mon problème est que quand je clique sur logout OK je retourne a ma page d'accès login/mot de passe; cependant si d'autres onglet de mon interface sont ouvert; je peux toujours effectuer des choses sur ces pages. Alors que j'aimerais ne plus pouvoir faire de choses sur ces pages vue que je me suis delogué.
Voiçi ma fonction logout.php
<?php
session star();
$_SESSION=array();
session_destroy=();
header("Location:formulaire.htm");
?>
Voiçi ma fonction logout.php
<?php
session star();
$_SESSION=array();
session_destroy=();
header("Location:formulaire.htm");
?>
Salut
le soucis ne viendrait pas du fait que tu fais ouvrir plusieurs cessions (la même ) mais dans plusieurs pages ?
ta redirection est faites avec _blank non ?
le soucis ne viendrait pas du fait que tu fais ouvrir plusieurs cessions (la même ) mais dans plusieurs pages ?
ta redirection est faites avec _blank non ?
Oui j'ouvre la même session dans plusieus pages.
Je ne comprend pas ta question"ta redirection est faites avec _blank non ? "
Ccela ne m'ouvre pas un nouvel onglet quand je clique sur logout sur la même page je retombe sur ma page d'accès login/mot de passe
Je ne comprend pas ta question"ta redirection est faites avec _blank non ? "
Ccela ne m'ouvre pas un nouvel onglet quand je clique sur logout sur la même page je retombe sur ma page d'accès login/mot de passe
Non ma question n a pas d interet au niveau de la réponse recherché , je ne connais absolument pas le php et js , il me faudrais 150 ans pour que je sache ecrire une ligne
Ce que je souligne c est qu il est normal que tu es le pb , car tu ouvre plusieurs cession pour le même compte en ouvrant plusieurs pages
le _blank = ouvrir dans une nouvelle page
C est sur ce point que j interroge , pourquoi ouvrir plusieurs pages.
1pages = 1 cession
si tu mets plutot _parent , ou _self en cible , ça marche pas mieux ?
Voir rien , par défaut ça va écraser ta premier page
Ce que je souligne c est qu il est normal que tu es le pb , car tu ouvre plusieurs cession pour le même compte en ouvrant plusieurs pages
le _blank = ouvrir dans une nouvelle page
C est sur ce point que j interroge , pourquoi ouvrir plusieurs pages.
1pages = 1 cession
si tu mets plutot _parent , ou _self en cible , ça marche pas mieux ?
Voir rien , par défaut ça va écraser ta premier page
salut Warlix,
non justement, en php les sessions permettent d'avoir une seule variable entre plusieurs accès du même utilisateur.
que ce soit la même page entre deux appels au serveur ou de deux pages du même site tout cela dans un seul navigateur bien sûr !
en gros la session c'est l'équivalent d'un cookie sur le serveur. si la session existe déjà pour un utilisateur et qu'elle n'a pas expiré elle est réutilisée, ce qui te permet de retrouver les valeurs que tu y as stocké.
non justement, en php les sessions permettent d'avoir une seule variable entre plusieurs accès du même utilisateur.
que ce soit la même page entre deux appels au serveur ou de deux pages du même site tout cela dans un seul navigateur bien sûr !
en gros la session c'est l'équivalent d'un cookie sur le serveur. si la session existe déjà pour un utilisateur et qu'elle n'a pas expiré elle est réutilisée, ce qui te permet de retrouver les valeurs que tu y as stocké.
salut,
il y a une coquille dans ton code, ça vient peut être de là.
cela aurait dû afficher une erreur. si ce n'est pas le cas ton php.ini est mal paramétré.
il faut qu'il contienne :
je crois que ça suffit.
il y a une coquille dans ton code, ça vient peut être de là.
<?php
session_start();
$_SESSION=array();
session_destroy=();
header("Location:formulaire.htm");
?>
cela aurait dû afficher une erreur. si ce n'est pas le cas ton php.ini est mal paramétré.
il faut qu'il contienne :
error_reporting = E_ALL display_errors = On
je crois que ça suffit.
je ne te suit pas.
En fait une fois que je me suis logué tout s'effectue sur une seule page.
Cependant il est possible de cliquer en ouvrant la page sur un nouvel onglet; mais a ce moment là si je me délogue; cette page que j'ai ouvert dans un nouvel onglet est présent OK mais pour une sécurité je ne dois plus pouvoir y réaliser des choeses dessus vue que j'ai mis fin a ma session.
En fait une fois que je me suis logué tout s'effectue sur une seule page.
Cependant il est possible de cliquer en ouvrant la page sur un nouvel onglet; mais a ce moment là si je me délogue; cette page que j'ai ouvert dans un nouvel onglet est présent OK mais pour une sécurité je ne dois plus pouvoir y réaliser des choeses dessus vue que j'ai mis fin a ma session.
Ma table user ,de ma base de donnée, qui contient le login et mot de passe n'est relié a aucune autre table de ma base de donnée.
Le problème peut-il être lié a cela?
Le problème peut-il être lié a cela?
salut,
il n'y a rien à voir entre table de bdd et sessions.
comment ouvres-tu ta session, comment y affectes-tu des valeurs et comment testes-tu l'existence de session en début de page ?
il n'y a rien à voir entre table de bdd et sessions.
comment ouvres-tu ta session, comment y affectes-tu des valeurs et comment testes-tu l'existence de session en début de page ?
* Voilà comment j'ouvre ma session:
session start();
//j'enregistre $login dans une variable de session
$login=$_POST['login'];
$_SESSION['login']=$login;
* Voilà comment je teste l'existence d'une session en début de page:
<?php
session start();
if(isset($_SESSION['login']))
{
$login=$_SESSION['login'];
print("Ouverture de la session<br>");
}
session start();
//j'enregistre $login dans une variable de session
$login=$_POST['login'];
$_SESSION['login']=$login;
* Voilà comment je teste l'existence d'une session en début de page:
<?php
session start();
if(isset($_SESSION['login']))
{
$login=$_SESSION['login'];
print("Ouverture de la session<br>");
}
salut,
Mon problème est que quand je clique sur logout OK je retourne a ma page d'accès login/mot de passe; cependant si d'autres onglet de mon interface sont ouvert; je peux toujours effectuer des choses sur ces pages. Alors que j'aimerais ne plus pouvoir faire de choses sur ces pages vue que je me suis delogué.
quand la page est affichée (on va dire que l'on est sur une page qui affiche le contenu d'une base de données : "show_rows.php"), si pendant ce temps dans une autre page tu détruis la session cela ne change rien pour "show_rows.php".
et dans cette page tu as par exemple un lien qui permet de supprimer une entrée de base de donnée qui pointe vers "delete_row.php".
en haut de "delete_row.php" tu dois avoir quelque chose du style :
comme ça, étant donné que la session a été détruite entre le moment de l'affichage de la page "show_rows.php" et l'appel de "delete_row.php", ton visiteur sera redirigé vers la page d'identification.
Mon problème est que quand je clique sur logout OK je retourne a ma page d'accès login/mot de passe; cependant si d'autres onglet de mon interface sont ouvert; je peux toujours effectuer des choses sur ces pages. Alors que j'aimerais ne plus pouvoir faire de choses sur ces pages vue que je me suis delogué.
quand la page est affichée (on va dire que l'on est sur une page qui affiche le contenu d'une base de données : "show_rows.php"), si pendant ce temps dans une autre page tu détruis la session cela ne change rien pour "show_rows.php".
et dans cette page tu as par exemple un lien qui permet de supprimer une entrée de base de donnée qui pointe vers "delete_row.php".
en haut de "delete_row.php" tu dois avoir quelque chose du style :
<?php session start(); if(isset($_SESSION['login'])) { $login=$_SESSION['login']; print("Ouverture de la session<br>"); } else { header("Location:identification.php") } ?>
comme ça, étant donné que la session a été détruite entre le moment de l'affichage de la page "show_rows.php" et l'appel de "delete_row.php", ton visiteur sera redirigé vers la page d'identification.
Je ne te suis pas a partir de "et dans cette page tu as par exemple un lien qui permet de supprimer une entrée de base de donnée qui pointe vers "delete_row.php". "
je dois mettre ceci dans toutes mes pages.php?
<?php
session start();
if(isset($_SESSION['login']))
{
$login=$_SESSION['login'];
print("Ouverture de la session<br>");
}
else
{
header("Location:identification.php")
}
?>
je dois mettre ceci dans toutes mes pages.php?
<?php
session start();
if(isset($_SESSION['login']))
{
$login=$_SESSION['login'];
print("Ouverture de la session<br>");
}
else
{
header("Location:identification.php")
}
?>
ben dans toutes celles dont tu veux sécuriser l'accès !
sinon ton script sexecutera avec ou sans identification.
sinon ton script sexecutera avec ou sans identification.