Aller au contenu

php/mysql


bonus-salade

Messages recommandés

Membre, Plutôt Fantôme à Tic, 37ans Posté(e)
bonus-salade Membre 1 681 messages
37ans‚ Plutôt Fantôme à Tic,
Posté(e)

salut a tous, voila jvoulais savoir si ya quelqu'un qui pourrait m'aider, je cherche a gérer des utilisateurs avec php/mysql, donc je me demande comment ça se passe. Quels sont les fonctions a utiliser, pour l'instant je compare les champs pseudo et mdp comme ça : $login=mysql_query("SELECT * FROM inscrits WHERE pseudo='$_POST["pseudo"]");

$passwd=mysql_query("SELECT * FROM inscrits WHERE mdp='$_POST["mdp"]");

viens la comparaison

if($pass["mdp"]==$_POST["mdp"] && ($log["pseudo"]==$_POST["mdp"]);

(chui pas trés sur de cette ligne :S)

et aprés chui un peu perdu, je sais pas encore gérer les sessions donc comment je fais? Et une fois logé si je veut donner des droits a cet utilisateur, le renvoyer sur la page d'accueil avec son ptit nom afficher en haut de la page, bref des trucs classiques.

si quelqu'un peut m'aider sa serait simpatoche. En attendant je vais encore chercher.

Merci a vous :o

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
VIP, Ours des Pyrénées 100% AOC, Posté(e)
Méthylbro VIP 1 038 messages
Ours des Pyrénées 100% AOC,
Posté(e)

DON'T TRUST FOREIGN DATA !

Lien à poster
Partager sur d’autres sites

Membre, Plutôt Fantôme à Tic, 37ans Posté(e)
bonus-salade Membre 1 681 messages
37ans‚ Plutôt Fantôme à Tic,
Posté(e)

dé qué???

Lien à poster
Partager sur d’autres sites

Administrateur, Clyde Barrow, 40ans Posté(e)
Caez Administrateur 22 364 messages
40ans‚ Clyde Barrow,
Posté(e)

Déjà pourquoi tu fais pas une seule requête, du style

select pseudo,mdp from inscrit where pseudo='$_POST["pseudo"];

ensuite tu regarde si le mdp est identique ^^

Ca ne sert a rien de faire un select * si tu n'as besoin de récupérer que 2 champs.

Lien à poster
Partager sur d’autres sites

Membre, 36ans Posté(e)
Patoch Membre 65 messages
Baby Forumeur‚ 36ans‚
Posté(e)

Oui, je suis d'accord avec Caez... Il y a des lignes inutiles la dedans :s

Lien à poster
Partager sur d’autres sites

VIP, Just Breathe, 35ans Posté(e)
Bashi VIP 5 233 messages
35ans‚ Just Breathe,
Posté(e)

Euh ...

Tes deux requetes a a moitié aucun sens,

Je m'explique :

- Tu demande de voir si le pseudo est present dans la table OK

- Tu demande a voir si le mot de passe est present dans la base OK MAIS Ca veut dire que si t'as deux utilisateurs "bonus" et "salade" avec des mots de passe "1234" et "5678" respectifs, bonus pourra utiliser le mot de passe de salade et inversement quoi

Ensuite,

$login=mysql_query("SELECT * FROM inscrits WHERE pseudo='$_POST["pseudo"]");

Evites d'utiliser des $_POST dans une requete, ca a des chances de foirer (je sais pas pourquoi mais ca a des chances ^^).

$pseudo = $_POST["pseudo"];
$mdp = $_POST["mdp"];
$auth = mysql_query("SELECT pseudo,mdp FROM inscrits WHERE pseudo='$pseudo' AND mdp='$mdp'");

bashi

Lien à poster
Partager sur d’autres sites

  • 3 semaines après...
VIP, Ours des Pyrénées 100% AOC, Posté(e)
Méthylbro VIP 1 038 messages
Ours des Pyrénées 100% AOC,
Posté(e)

oui oui ... utilise ce code ; et moi je vous fait de belles injections sql avec ca.

je me répéte ; DON'T TRUST FOREIGN DATA !

C'est la régle.

Lien à poster
Partager sur d’autres sites

Membre, 36ans Posté(e)
Kazumi Membre 100 messages
Baby Forumeur‚ 36ans‚
Posté(e)

/* simple quote, double-quote == évil car analyse de la chaine pour remplacement des variables, test de l'existence de la variable en cas de requête forgée par un p'tit malin */

if(isset($_POST['pseudo']) && $_POST['pseudo'] != '' && isset($_POST['mdp']) && $_POST['mdp'] != '') {

// traitement de l'erreur

}

// faire ta connexion à MYSQL ici, traiter les erreurs de connexion

$pseudo = str_replace('"', '\"', $_POST['pseudo']); // parade à l'SQL Injection, comme le disait Méthylbro

$login = mysql_query('SELECT mdp FROM inscrits WHERE pseudo="'.$pseudo.'";'); // concaténation manuelle

// traitement de la requête ici

Le mot de passe devrait être en plus hashé (pas de stockage en clair dans la base de données). Eviter le md5 qui est trop utilisé et dont des dictionnaires se trouvent facilement. Utiliser une comparaison et un mode de stockage "entier" et pas "chaîne" sur le hash obtenu pour plus de performance.

Je vérifierais le mot de passe en dehors de la requête, contrairement à Bashi, de façon à pouvoir personnaliser le message d'erreur (on peut savoir au row count si c'est le nom d'utilisateur qui est invalide ou à la comparaison si c'est le mot de passe). C'est peut-être pas forcément intéressant, voire risqué de personnaliser le message, mais en tout cas, on peut repérer plus facilement si quelqu'un tente de bruteforcer le système.

Pour les sessions, c'est pas très secure d'utiliser les sessions PHP. Les même problèmes s'appliquent qu'à la sécu des cookies. Le passer en GET, c'est pareil, c'est pas très bon. Cookies + HTTPS serait sans doute le plus fiable. Sans ça, faire son propre système de transaction de sessionid avec des clés changeantes... faudrait voir...

Lien à poster
Partager sur d’autres sites

Fondateur, Faut Bosser, 34ans Posté(e)
ph0b Fondateur 4 329 messages
34ans‚ Faut Bosser,
Posté(e)
Le mot de passe devrait être en plus hashé (pas de stockage en clair dans la base de données). Eviter le md5 qui est trop utilisé et dont des dictionnaires se trouvent facilement. Utiliser une comparaison et un mode de stockage "entier" et pas "chaîne" sur le hash obtenu pour plus de performance.

le md5 avec un peu de salt n'a pas de dico :o

Lien à poster
Partager sur d’autres sites

VIP, Ours des Pyrénées 100% AOC, Posté(e)
Méthylbro VIP 1 038 messages
Ours des Pyrénées 100% AOC,
Posté(e)

Kazumi ?!

Une femme qui code ....!!!!!! et en php

/me sous le choc

tu veux m'épouser Kazumi ?

Lien à poster
Partager sur d’autres sites

Membre, 36ans Posté(e)
Kazumi Membre 100 messages
Baby Forumeur‚ 36ans‚
Posté(e)

Bah je peux pas... Je suis liée par les liens capillaires avec Monsieur Kazumi :/

Faut pas être triste, t'en retrouveras une petite femme :o

*Fière d'être reconnue parmi ce monde d'hommes* :o

Lien à poster
Partager sur d’autres sites

VIP, Ours des Pyrénées 100% AOC, Posté(e)
Méthylbro VIP 1 038 messages
Ours des Pyrénées 100% AOC,
Posté(e)

rah :o

dommage ... mais ou t'a appris à coder comme ca ?!

Lien à poster
Partager sur d’autres sites

Membre, 36ans Posté(e)
Kazumi Membre 100 messages
Baby Forumeur‚ 36ans‚
Posté(e)

Toute seule :o

Puis avec l'aide de mon professeur perso :D

:o

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×