Vérfification d'une connexion ou redirection

Vérfification d'une connexion ou redirection - PHP - Programmation

Marsh Posté le 23-11-2005 à 12:54:42    

Salut à tous,
 
Merci déjà poru votre aide hier. J'ai bien avancé.
 
Bon maintenant, je sens que je m'approche du session_start().
 
Avant cela, j'ai une questino sécu à poser:
 
Pour se connecter, les visiteurs passe par une page connexion.php, qui contient juste un formulaire et un action en POST vers un script login.php (lui_même lié à un script conf.php, histoire de brouiller un peu les pistes).
Voici le script:
 

Citation :

<?
require("conf/conf.php" );
 
// si le visteur est passé par la page connexion.php ou s'il s'est identifié en tombant directement sur cette page, on lui renvoit ses infos.
mysql_connect($sql_seveur,$sql_user,$sql_passwd); // Connexion à MySQL
 
// on vérifie que le login et le mot de passe rentrés sont correct
$table = mysql_db_query($sql_bdd,"SELECT * FROM connexion WHERE login='$_POST[login]'" );
 
// $row = colonne de l'utilisateur dans la base
$row = mysql_fetch_array($table, MYSQL_ASSOC);
 
 
// on contrôle que le formulaire de la page connexion.php a bien été rempli, puis on contrôle que le champ "motdepasse" correspond bien à celui de la base.
if (isset($_POST['login']) AND ($_POST['motdepasse']) AND $_POST['motdepasse'] == $row['password'])
{
header("Location:$url_ok" );
}
 
else
{
header("Location:$url_erreur" );exit;
}
mysql_close(); // Déconnexion de MySQL
?>


 
si les identifiants sont vérifier dans login.php, l'adresse $url_ok est en fait une page appelé default.php.
 
Le problème est de savoir comment protégé cette page si quelqu'un arrive dessus par hasard directement.
 
Pour l'instant la voici:

Citation :

<?
require("conf/conf.php" );
// si le visteur est passé par la page connexion.php ou s'il s'est identifié en tombant directement sur cette page, on lui renvoit ses infos.
$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
 
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$table=mysql_db_query($sql_bdd,"SELECT * FROM connexion WHERE login='$_POST[login]'" );
 
// SI L'ID N'EXISTE PAS
if (isset($_POST['login']) AND ($_POST['motdepasse']) AND $_POST['motdepasse'] == $row['password'])
 {
?>
 
<!-- Début du squelette de la page html -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Espace Client
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
 font-family: Arial, Helvetica, sans-serif;
 font-size: 12px;
}
body {
 margin-left: 5px;
 margin-top: 0px;
}
a:link {
 color: #333333;
 text-decoration: underline;
}
a:visited {
 color: #333333;
 text-decoration: underline;
}
a:hover {
 color: #006699;
 text-decoration: none;
}
a:active {
 color: #333333;
 text-decoration: underline;
}
.Style1 {
 color: #FFFFFF;
 font-weight: bold;
}
-->
</style>
</head>
 
<body>
<p><strong><img src="file:///C|/wamp/images/titre_accueil.gif" height="30"></strong></p>
<p>Bienvenue
 
<?
// affichage du Nom du visiteur
echo $row['prenom'];
echo " ";
// affichage du Nom du visiteur
echo $row['nom'];
?>
 
dans votre espace client, la zone priv&eacute;e des clients de O'MUSIC.
 
</p>
<p align="center" style="margin-bottom:0; margin-top:0 "><a href="../php/devisfactures.htm"><img src="file:///C|/wamp/images/btn_devis.jpg" width="181" height="100" border="0"></a><a href="../php/maquettes.htm"><img src="file:///C|/wamp/images/btn_maquettes.jpg" width="181" height="100" border="0"></a><a href="../php/docs.htm"><img src="file:///C|/wamp/images/btn_documents.jpg" width="181" height="100" border="0"></a><a href="../php/contact.htm"><img src="file:///C|/wamp/images/btn_contact.jpg" width="181" height="100" border="0"></a></p>
<p><strong>TABLEAU DE BORD</strong></p>
<table border="0" bgcolor="#CCCCCC">
  <tr bgcolor="#006699">
    <td><div align="center"><span class="Style1"> DEVIS</span></div></td>
    <td><div align="center"><span class="Style1">FACTURES</span></div></td>
    <td><div align="center" class="Style1">
      <div align="center">MAQUETTES</div>
    </div></td>
    <td><div align="center"><span class="Style1">DOCUMENTS</span></div></td>
    <td><div align="center"><span class="Style1">Derni&egrave;re mise &agrave; jour </span></div></td>
  </tr>
  <tr valign="top" bgcolor="#FFFFFF">
    <td> <div align="center">
 
<?
// affichage nbr de DEVIS
echo $row['DEVIS'];
?>
 
</div></td>
    <td><div align="center">
 
<?
// affichage nbr de FACTURES
echo $row['FACTURES'];
?>
 
 </div></td>
    <td><div align="center">
 
<?
// affichage nbr de MAQUETTES
echo $row['MAQUETTES'];
?>
 
 </div></td>
    <td><div align="center">
 
<?
// affichage nbr de DOCS
echo $row['DOCS'];
?>
 
 </div></td>
    <td><div align="center">
 
<?
// affichage de la dernière mise à jour dans la base de données
echo $row['MISE_A_JOUR'];
?>
    </div></td>
  </tr>
</table>
</body>
</html>
 
<?
}
else
{
header("Location:$url_erreur" );
 }
mysql_close(); // Déconnexion de MySQL
?>


 
Désolé pour la tartine mais comme ça vous avez tous les éléments.
 
le souci c que quand je m'identifie sur la page $url_erreur, ben le script m'y renvois direct sans afficher le contenu <html> attendu.
En gors, je suis en boucle sur la page $url_erreur.
 
Une idée?

Reply

Marsh Posté le 23-11-2005 à 12:54:42   

Reply

Marsh Posté le 23-11-2005 à 16:01:42    

C'est bon pb résolu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed