le_simelard Posté 7 Mars 2006 Posté 7 Mars 2006 bonjour a tous, OVH a "mit à jour mysql de v3 à v4 et de php vers 4.4.1 patché contre le dernier bug trouvé", et je me retrouve avec un accés altéré vers les pages sécurisées du site. Plus précisément, lorsqu'on sasie son login et password, il faut fermer le navigateur et le rouvrir pour entrer (cette fois sans taper de mot de passe ni de login) dans la partie sécurisé du site. Le problème c'est que ce n'est pas moi qui aie créé ce site, et, même si j'ai relu une bonne partie du code php, je ne trouve pas de bug. le site est en php et sql. peut etre que la base de donnees est trop remplie... avez vous deja rencontre ce probleme? merci d'avance simon
Dan Posté 7 Mars 2006 Posté 7 Mars 2006 Tu es en serveur mutualisé ou dédié ? Parce que la dernière version de php est la 4.4.2. Qu'appelles-tu pages sécurisées ? Sécurisation SSL (encryptage) ou sécurisation http ? Dan
le_simelard Posté 7 Mars 2006 Auteur Posté 7 Mars 2006 l'url c'est www.yxene.com le probleme survient lors de l'acces a l'extranet. la demande de log et mot de passe (c'est ca la securite, je ne pense pas que l'extranet soit crypte) s'affiche sur une nouvelle page, et lors de la validation du mot de passe, ca marche que en fermant la fenetre et en en ouvrant une autre (et la, plus besoin de rentrer le mot de passe pour acceder a l'extranet). je pense qu'on est sur serveur mutualise... je precise ce point des que je peux.
le_simelard Posté 7 Mars 2006 Auteur Posté 7 Mars 2006 voila donc nous sommes sur un serveur mutualise (pack 720)
Dan Posté 7 Mars 2006 Posté 7 Mars 2006 Je ne vois pas ce que tu appelles "accès à l'extranet". Peux-tu préciser cela ? Est-ce un accès à l'Intranet ?
le_simelard Posté 7 Mars 2006 Auteur Posté 7 Mars 2006 techniquement c'est pareil qu'un acces a un intranet. si tu vas sur le site yxene.com tu trouvera le lien pour "extranet" et non "intranet". une nouvelle page s'affiche avec demande de login et password et c'est celle la qui bug...
Dan Posté 7 Mars 2006 Posté 7 Mars 2006 C'est une demande de login pour un proxy alors ? Comment fait-tu l'autentification ? Par base de donnée MySQL ?
le_simelard Posté 7 Mars 2006 Auteur Posté 7 Mars 2006 la base de donnees est en sql... apres pour le proxy... je vais me renseigner un peu plus sur le pourquoi du comment du proxy
le_simelard Posté 7 Mars 2006 Auteur Posté 7 Mars 2006 je ne pense pas que ca soit une identification pour le proxy, mais pour la base de donnee.
xpatval Posté 7 Mars 2006 Posté 7 Mars 2006 Et as-tu un système de sessions, de cookies, de headers lorsque l'id et le mot de passe sont entrés ? xpatval
le_simelard Posté 8 Mars 2006 Auteur Posté 8 Mars 2006 salut effectivement, je n'ai pas encore regarde ca. je me lis mon bouquin de php a ce sujet en ce moment meme, je vous tiens au courant.
le_simelard Posté 8 Mars 2006 Auteur Posté 8 Mars 2006 en fait l'ajout d'informations se fait par url avec cookie
xpatval Posté 8 Mars 2006 Posté 8 Mars 2006 De plus, pourrais-tu mettre le code de ta page de saisie login/mpd, afin de voir entre autre comment et vers quoi est redirigé l'internaute ? xpatval
le_simelard Posté 8 Mars 2006 Auteur Posté 8 Mars 2006 (modifié) voila, je te met juste apres le code de login.php3 qui gere le log. voila la page de saisie: <html><head><title>Page du site Yxene</title><link rel="stylesheet" type="text/css" href="styles.css"><META http-equiv=Content-Type content="text/html;charset=iso-8859-1"><META content=en-FR name=Content-Language></head><body text="#000000" link="#000000" alink="#000000" vlink="#000000"><p> </p><!-- Dans ces lignes ci-après, je fais afficher la form qui sert à l'identification Cette form utilise la méthode post. Je rappelle ce script après l'appui sur le bouton Entrer Quand ce script est rappelé $posted = 1, donc on passe dans les premières lignes qui vérifient si j'ai le droit de me loguer. 4 variables sont remplies grâce à cette forme $posted = 1 $path (nom du chemin de la page) $UserId $Password En fait on revient sur la form pour exécuter les premières lignes. Ces premières lignes permettent de vérifier que l'utilisateur a le droit de se connecter--> <p align="center"><img src="/data/logo1.gif" border="0"></p> <p align="left"> </p> <FORM name="identification" method="POST" action="login.php3"> <input type="hidden" name="path" value="/extranet/index.php"> <input type="hidden" name="posted" value="1"> <input type="hidden" name="cookie" value="yxene_extranet"> <TABLE border="0" align="CENTER"> <TR><TD>Identifiant :</TD></TR> <TR> <TD> <INPUT type="TEXT" name="UserID" SIZE="20" MAXLENGTH="20" VALUE="" > </TD> </TR> <TR><TD>Mot de passe :</TD></TR> <TR><TD><INPUT type="PASSWORD" name="Password" SIZE="20" MAXLENGTH="20"></TD></TR> </TABLE> <BR> <CENTER><INPUT type="SUBMIT" value="Entrer"></CENTER> </FORM><!-- Si on rentre 2 fois dans login.php3 il y a une valeur dans msg qui est généré par la fonction VerifSession--> <center> </center> <p align="center"> [<a href="mailto:admin_AT_yxene.com?subject=Oubli du mot de passe Extranet">Rappel du mot de passe</a>] </p><p> </p><table width=800 align="center" border=0><tr><td align="center"><hr width=300 noshade size=1 color="#5F7DAB"> Auteur : <a href="mailto:postmaster_AT_yxene.com">webmaster</a></td></tr></table></body></html> et voici login.php3: <?phpinclude("./commun/config.inc.php3");include("./commun/share.inc.php3");// les lignes ci-après ne sont éxécutées qu'après appui sur le bouton entrer et réaffichage de la fenêtre if($posted){/* print("\n<pre>\n"); print($UserID); print("coucou");print($Password); print_r(get_defined_vars()); print("</pre>"); */ if(!empty($UserID) && !empty($Password)) { $MotDePasse=md5($Password); if(VerifSession($UserID,$MotDePasse)) { EnvoieCookie($UserID,$MotDePasse); MYSQL_CLOSE();// En sortant, je redonne la main à la feuille HTML qui m'a appelé grace à la variable $path// Quand on débute, on va sur admin.php3 qui fait afficher cette feuille dans ces includes // path contient /AdminSite/admin.php3 et la fonction header redirige vers la bonne page// Attention header ne fonctionne que si il n'y a pas eu de HTML avant.// Subtilité sur SetCookie voir doc php header("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']."$path") ;// header ("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']."/".dirname($HTTP_SERVER_VARS['PHP_SELF'])."/adminsite/"); exit(); } else $msg="Identifiant ou mot de passe incorrect !" ; } else $msg="test Identifiant ou mot de passe incorrect !"; }// Je récupère le login à partir du cookie$login=explode(":",$HTTP_COOKIE_VARS["$cookie"."Login"]);include("header.inc.php3");?><!-- Dans ces lignes ci-après, je fais afficher la form qui sert à l'identification Cette form utilise la méthode post. Je rappelle ce script après l'appui sur le bouton Entrer Quand ce script est rappelé $posted = 1, donc on passe dans les premières lignes qui vérifient si j'ai le droit de me loguer. 4 variables sont remplies grâce à cette forme $posted = 1 $path (nom du chemin de la page) $UserId $Password En fait on revient sur la form pour exécuter les premières lignes. Ces premières lignes permettent de vérifier que l'utilisateur a le droit de se connecter--> <p align="center"><font size="5"><b>Ce site est interdit au public. Veuillez vous identifier</b></font></p> <p align="left"> </p> <FORM name="identification" method="POST" action="login.php3"> <input type="hidden" name="path" value="<?echo "$path"; ?>"> <input type="hidden" name="posted" value="1"> <input type="hidden" name="cookie" value="<?echo "$cookie"; ?>"> <TABLE border="0" align="CENTER"> <TR> <TD>Identifiant :</TD> </TR> <TR> <TD> <INPUT type="TEXT" name="UserID" SIZE="20" MAXLENGTH="20" VALUE="<?php if(!$posted || empty($UserID)) echo "$login[0]"; else echo "$UserID"; ?>" > </TD> </TR> <TR> <TD>Mot de passe :</TD> </TR> <TR> <TD><INPUT type="PASSWORD" name="Password" SIZE="20" MAXLENGTH="20"></TD> </TR> </TABLE> <BR> <CENTER><INPUT type="SUBMIT" value="Entrer"></CENTER> </FORM><!-- Si on rentre 2 fois dans login.php3 il y a une valeur dans msg qui est généré par la fonction VerifSession--> <center> <?php if($msg){ echo "<b>$msg</b><BR><BR>"; } ?> </center> <p align="center"> [<a href="oubli.php3">Rappel du mot de passe</a>] </p><?php include("footer.inc.php3"); ?> <modérateur : merci d'utiliser les codebox, la fonction "éditer" pour éviter de poster deux messages à la suite, et surtout merci de modifier rapidement ce code pour le rendre plus succint et plus lisible !> Modifié 8 Mars 2006 par Loupilo
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant