From 1d850fb3c1a13de1b79121571817df4cbed8a8e5 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou <pitrou@free.fr> Date: Tue, 30 Jul 2002 16:38:54 +0000 Subject: [PATCH] modifs sessions --- ecrire/inc_presentation.php3 | 115 +++++++++++++++++++---------------- ecrire/inc_session.php3 | 7 ++- 2 files changed, 67 insertions(+), 55 deletions(-) diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index bd3c27d7f5..edac203372 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -1691,56 +1691,64 @@ function debut_gauche($rubrique = "asuivre") { // function debut_droite() { - echo '<br></font> </td> - <td width=50 rowspan=1> </td> - <td width=500 valign="top" rowspan=2> - <font face="Georgia,Garamond,Times,serif" size=3>'; + global $options; + + echo '<br></font> </td><td width=50 rowspan=1> </td><td width=500 valign="top" rowspan=2><font face="Georgia,Garamond,Times,serif" size=3>'; // zap sessions si bonjour - if($GLOBALS['bonjour'] == "oui" || $GLOBALS['secu'] == 'oui') { + if ($GLOBALS['bonjour'] == "oui" || $GLOBALS['secu'] == 'oui') { $securite = $GLOBALS['prefs']['securite']; $zappees = zap_sessions($GLOBALS['connect_id_auteur'], $securite == 'strict'); - if ($zappees) { + if ($zappees && $GLOBALS['bonjour'] == "oui" && ($securite == 'strict' || $options == 'avancees')) { debut_cadre_enfonce(); gros_titre("Avertissement de sécurité"); - if ($securite == 'strict') - echo "<p>Il y avait " . ($zappees + 1) ." connexions parallèles à votre nom," - . " Conformémement à vos réglages, " - . " le système a supprimé celle" - . ($zappees > 1 ? 's' : '') - . " que vous n'utilisez pas actuellement.\n"; + if ($securite == 'strict') { + if ($zappees > 1) + echo "<p>Il y avait " . ($zappees) ." connexion(s) parallèle(s) à votre nom. " + . " Conformémement à vos réglages de sécurité, " + . " le système a supprimé ces connexions.\n"; + else + echo "<p>Il y avait une connexion parallèle à votre nom. " + . " Conformémement à vos réglages de sécurité, " + . " le système a supprimé cette connexion.\n"; + } else - echo "<p>Il y a actuellement " . ($zappees+1) ." connexions parallèles à votre nom.\n"; + echo "<p>Il y a actuellement " . ($zappees + 1) ." connexions simultanées à votre nom.\n"; - echo "<p>" . propre( "<img align='right' - src='img_pack/deconnecter-24.gif'>Lorsque vous aurez - terminé de travailler dans l'espace privé, - pensez à vous déconnecter, soit en quittant - votre navigateur, soit en cliquant sur le bouton - ci-dessus.") - ."\n<p>";; + echo "<p>"; + echo propre("<img align='right' src='img_pack/deconnecter-24.gif'>" . + "Pour éviter d'afficher ce message et de rendre votre connexion ". + "vulnérable, pensez, lorsque vous aurez " . + "fini de travailler dans l'espace privé, " . + "à vous déconnecter en cliquant sur le bouton ". + "ci-dessus. Il se peut aussi que vous ayez plusieurs connexions ". + "ouvertes depuis d'autres machines ou d'autres navigateurs, ". + "ou que quelqu'un d'autre utilise votre identifiant (si vous ". + "l'y avez autorisé)."); + echo "\n<p>"; + + echo propre("Pour plus d'informations, vous pouvez afficher les informations de sécurité."); + echo "<p>"; - echo bouton_block_invisible("secu") . "<b>En savoir plus...</b>"; - echo debut_block_invisible("secu"); + echo "<div align='right'>"; + $link = new Link('index.php3?secu=oui'); + echo $link->getForm('GET'); + echo "<input type='submit' class='fondo' name='submit' value='Afficher les informations de sécurité'>\n"; + echo "</form></div>\n"; + fin_cadre_enfonce(); } else if ($GLOBALS['secu'] == 'oui') { debut_cadre_enfonce(); - if ($securite == 'strict') { + if ($securite == 'strict') gros_titre("Type de connexion : sécurité stricte"); - } else gros_titre("Type de connexion : sécurité normale"); - echo "<p>"; - - echo bouton_block_visible("secu") . "<b>En savoir plus...</b>"; - echo debut_block_visible("secu"); - } + echo "<p>"; - if ($zappees || $GLOBALS['secu'] == 'oui') { $link = new Link(); $link->addVar('secu', 'oui'); @@ -1749,21 +1757,20 @@ function debut_droite() { $link->addVar('securite', 'normal'); echo propre("Vous êtes en mode de sécurité «stricte». ". - "Cela veut dire que vous ne pouvez pas faire les choses suivantes:\n\n". - "- Vous connecter depuis plusieurs machines ou plusieurs navigateurs différents ". + "Les connexions multiples y sont interdites. ". + "Cela veut dire que {{vous ne pouvez pas faire les choses suivantes}}:\n\n". + "- {Vous connecter depuis plusieurs machines ou plusieurs navigateurs} différents ". "sans être automatiquement déconnecté.\n". - "- Utiliser le même identifiant pour plusieurs personnes différentes.\n". - "- Vous connecter depuis des liaisons Internet qui changent régulièrement d'adresse IP.\n\n". - "Ces limitations renforcent la sécurité du système.\n\n". - "D'autre part, un avertissement s'affichera à chaque fois qu'une ". - "autre connexion que la vôtre est détectée (soit parce que vous ne vous êtes ". - "pas déconnecté la dernière fois, soit parce que quelqu'un a éventuellement ". - "réussi à se connecter à votre insu).\n\n". - "Pour utiliser les possibilités évoquées ci-dessus,". - " vous pouvez passer à un mode de sécurité moins strict."); + "- {Utiliser le même identifiant pour plusieurs personnes différentes} ". + "(utile en cas de démonstration du système, ou d'auteur collectif).\n". + "- {Vous connecter depuis certains fournisseurs d'accès} qui changent ". + "régulièrement votre adresse Internet (qui identifie votre ". + "ordinateur de façon unique).\n\n\n". + "Notez que pour utiliser les possibilités évoquées ci-dessus, ". + "vous devez repasser en mode de sécurité normal."); echo "<p>Pour plus de précisions n'hésitez pas à consulter l'aide en ligne ".aide('deconnect'); - echo "<div align='right'>"; + echo "<p><div align='right'>"; echo $link->getForm('POST'); echo "<input type='submit' class='fondo' name='submit' value='Repasser en sécurité normale'>\n"; echo "</form></div>\n"; @@ -1772,23 +1779,27 @@ function debut_droite() { $link = new Link(); $link->addVar('securite', 'strict'); - echo propre("Vous êtes en mode de sécurité «normale». ". - "Cela veut dire que les connexions parallèles sont autorisées: ainsi, vous pouvez faire les choses suivantes :\n\n\n\n". - "- Vous connecter depuis plusieurs machines ou plusieurs navigateurs différents ". + echo propre("Vous êtes en mode de sécurité «normale». ". + "Cela veut dire que les connexions multiples sont autorisées. ". + "Ainsi, vous pouvez faire les choses suivantes :\n\n\n\n". + "- {Vous connecter depuis plusieurs machines ou plusieurs navigateurs différents} ". "sans être automatiquement déconnecté.\n". - "- Utiliser le même identifiant pour plusieurs personnes différentes.\n". - "- Vous connecter depuis des liaisons Internet qui changent régulièrement d'adresse IP.\n\n". - "En contrepartie, la sécurité du système n'est pas maximale. Si vous n'utilisez pas les ". - "possibilités mentionnées ci-dessus et que vous êtes soucieux de votre sécurité, ". + "- {Utiliser le même identifiant pour plusieurs personnes différentes} ". + "(utile en cas de démonstration du système, ou d'auteur collectif).\n". + "- {Vous connecter depuis certains fournisseurs d'accès} qui changent ". + "régulièrement votre adresse Internet (qui identifie votre ". + "ordinateur de façon unique).\n\n\n". + "En contrepartie, la sécurité du système n'est pas maximale. ". + "Si vous n'utilisez pas les possibilités mentionnées ci-dessus et ". + "que vous êtes très soucieux de votre sécurité, ". "vous pouvez passer à un mode de connexion plus strict.\n\n\n\n"); + echo "<p>Pour plus de précisions n'hésitez pas à consulter l'aide en ligne ".aide('deconnect'); - echo "<div align='right'>"; + echo "<p><div align='right'>"; echo $link->getForm('POST'); echo "<input type='submit' class='fondo' name='submit' value='Passer en sécurité stricte'>\n"; echo "</form></div>\n"; - } - echo fin_block(); fin_cadre_enfonce(); } } diff --git a/ecrire/inc_session.php3 b/ecrire/inc_session.php3 index f34186b694..3240c95b19 100644 --- a/ecrire/inc_session.php3 +++ b/ecrire/inc_session.php3 @@ -19,7 +19,8 @@ $GLOBALS['auteur_session'] = ''; // On verifie l'IP et le nom du navigateur // function hash_env() { - return md5(getenv('REMOTE_ADDR') . getenv('HTTP_USER_AGENT')); + global $HTTP_SERVER_VARS; + return md5($HTTP_SERVER_VARS['REMOTE_ADDR'] . $HTTP_SERVER_VARS['HTTP_USER_AGENT']); } @@ -147,10 +148,10 @@ function zap_sessions ($id_auteur, $zap) { $dir = opendir($dirname); $t = time(); - while(($item = readdir($dir)) != ''){ + while(($item = readdir($dir)) != '') { $chemin = "$dirname$item"; if (ereg("^session_([0-9]+_)?([a-z0-9]+)\.php3$", $item, $regs) - AND ($fichier_session != $chemin)) { + AND ($fichier_session != $chemin)) { // Si c'est une vieille session, on jette if (($t - filemtime($chemin)) > 48 * 3600) -- GitLab