Aller au contenu

Sujets conseillés

Posté

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? :huh:

merci d'avance

simon

Posté

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

Posté

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.

Posté

Je ne vois pas ce que tu appelles "accès à l'extranet".

Peux-tu préciser cela ? Est-ce un accès à l'Intranet ?

Posté

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...

Posté

C'est une demande de login pour un proxy alors ?

Comment fait-tu l'autentification ? Par base de donnée MySQL ?

Posté

Et as-tu un système de sessions, de cookies, de headers lorsque l'id et le mot de passe sont entrés ?

xpatval

Posté

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

Posté (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:


<?php
include("./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é par Loupilo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...