J'ai 2 scripts php utilisant une session, le premier est la page permettant de se connecter et le second est inclu dans chaque page protégée. Il fonctionne très bien mais le problème est que si je ferme mon borwser et que je me reconnecte, il peut (le browser) aller directement aux pages protégée, ma session est censée etre détruite lors de la fermeture du browser, je pense que ce n'est pas le cas (le responsable du serveur à peut-etre changé php.ini), ca m'embete car si je marque session_destroy(); dans les pages à protégé ca ne marchera pas comme je veut car la variable sera détruite et je devrai me reconnecté pour acceder aux autres pages protégés. Je ne veut devoir m'autentifier qu'une seule fois!!!
Est-ce que quelq'un connait un moyen pour forcer la destruction de la session mais uniquement lors de la fermeture du browser?
Mon code:
Pour le login:Dans les pages à protégé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <? echo ("<br><br><center><font size='+2'><u>Control Panel</u></font><br><br><br>"); echo ("<link rel='stylesheet' href='administration/style.css' type='text/css'>"); echo ("<table border='1' bordercolor='#FFFFFF'><tr><td colspan='2' align='center'><font size='+1'>Connexion</font></td></tr>"); echo ("<tr><td><form action='index.php3' method='post'>Identifiant</td><td><input type='text' name='log' size='20' maxlength='20'></td></tr>"); echo ("<tr><td>Mot de passe</td><td><input type='password' name='pass' size='20' maxlength'20'></td></tr>"); echo ("<tr><td colspan='2' align='center'><input type='submit' name='submit' value='Connexion'></td></tr></center>"); $jlog='henry-nicolas'; $jpass='21121987'; $state= false; $log=$_POST['log']; $pass=$_POST['pass']; $submit=$_POST['submit']; if ($submit == true) { if ( $log != $jlog || $pass!= $jpass) { echo ('Votre mot de passe ou votre identifiant est incorrect'); echo ("<script language='javascript'>window.location='index.php3';</script>"); exit; } else if ($log == $jlog && $pass == $jpass) { echo ("<script language='javascript'>window.location='administration/index.php';</script>"); $state = true; session_start(); session_register("state"); exit; } else { echo("Erreur, veuillez recommencé svp..."); echo ("<script language='javascript'>window.location='index.php3';</script>"); exit; } } ?>
Merci d'avance...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <? if(!session_is_registered("state")) { if (state != true) { echo("<script language='javascript'>window.location='../index.php3'</script>;"); } } else { echo("<script language='javascript'>window.location='../index.php3'</script>;"); } ?>
Partager