Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: The-PoLuX le le 04-05-2006 a 22:33:36

Titre: Petit espace membre
Posté par: The-PoLuX le le 04-05-2006 a 22:33:36

Bonjour, j'ai un script qui protège une page:
Ma page: index.php
Citation:
<?php
// J'ai choisi le mot de passe "azerty45"

if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
$mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}


if ($mot_de_passe == "azerty45") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>
[color=Red]<html>

<head>
<title>Page protégé</title>
<meta name="generator" content="Namo WebEditor">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p>Page Protégée</p></body>

</html>[/color]
<?php
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
[color=Red]<html>

<head>
<title>Connexion</title>
<meta name="generator" content="Namo WebEditor">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<form action="index.php" method="post">
<input type="password" name="mot_de_passe">
<input type="submit" value="Entrer">
</form>
</body>

</html>[/color]
<?php

} // Fin du else

// Fin du code :)
?>


Et moi ce que j'aimerai avoir, c'est exactement la même chose, mais en ajoutant Pseudo! Donc en gros, que lorsque quelqu'un veux se connecter, et bien que ça face: Si Pseudo ET mot de passe est bon, alors on affiche la page! Et que en haut, on mette des couples
Citation:
$couples_ok = array (
'membre' => 'azertggy',
'titi' => 'azertyee',
'tutu' => 'azertyss');


Enfin un moyen que je puise rajouter d'autre pseudo et mot de passe!

Voila, je vous remerci de votre aide! @ bientôt

Titre: Re:Petit espace membre
Posté par: real34 le le 05-05-2006 a 09:04:18

Pourquoi ne stocke tu pas les mots de passe et login dans ta base de données (par exemple) et ensuite, tu teste si le login/pass et bon, puis tu déclares une variable de session par exemple : $_SESSION['autorisation'] = 'OK';

Et par la suite tu testes :
if (isset($_SESSION['autorisation']) && ($_SESSION['autorisation'] == 'OK')){
// Ton code sécurisé
} else {
// Rentre à ta maison
}

Ca sera plus simple il me semble, et de plus il est impossible (à ma connaissance) de falsifier des variables de session contrairement aux variables POST ;)

Titre: Re:Petit espace membre
Posté par: tavman le le 05-05-2006 a 10:01:47

if ( ( isset($_POST["mot_de_passe"]) ) && ( isset($_POST["pseudo"]) ) {
// tu te connecte a ta base de données

$SQL = "SeLECT * FROM `users` WHERE 'mot_de_passe'='" . md5($_POST["mot_de_passe"]) . "' AND `pseudo`= '" . md5($_POST["pseudo"]) . "'";

$req = mysql_query($SQL);

if ( mysql_num_rows($req) > 0 ) {
// le visiteur est connecté
}

}


je suis plus sur pour mysql_num_rows... en gros faut que tu vérifie si il y a au moins une réponse.

regarde la doc a md5 pour comprendre ce que c'est (c'est une forme de cryptage). A la limite, utilise les sessions pour que le visiteur ait pas a rentrer son pseudo et son mot de passe a chaques fois (tu fai$_SESSION["CONNECT"] = true; ca devrait suffir).

Bonne chance a toi

Titre: Re:Petit espace membre
Posté par: The-PoLuX le le 05-05-2006 a 18:13:30

Alors moi je n'y connait rien, alors il faut me dire et me donner qu'est-ce que je doit faire! Car c'est difficile pour moi comme ça!

Titre: Re:Petit espace membre
Posté par: iowa le le 05-05-2006 a 18:33:54

Pourquoi crypter le pseudo en md5 :o
et ajoute des slash sur les donnees utilisateur pour eviter les injections

Titre: Re:Petit espace membre
Posté par: tavman le le 05-05-2006 a 19:25:25

bahh effectivement, pas obligé de crypter les pseudo.... j'ai fait mon copier/coller trop rapidement lol

sinon les slash, c'est pour mettre en note.... après, tu remplace par ce que tu veut...

Titre: Re:Petit espace membre
Posté par: iowa le le 05-05-2006 a 19:27:12

je disais juste qui devait faire un addslash pour echaper les caracteres qui pourrait eventuellement faire foirer la requete

Titre: Re:Petit espace membre
Posté par: tavman le le 06-05-2006 a 01:02:01

ah oui effectivement... faut pas oublier le addslashes sinon on peut faire a peut pret tout et n'importe quoi....

Titre: Re:Petit espace membre
Posté par: iowa le le 07-05-2006 a 11:40:25

Et puis si il utilise les sessions qu'il oublit pas de mettre session_start() en tout premier dans son script ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.