Création de forum : problème avec l'inscription - PHP - Programmation
Marsh Posté le 03-05-2007 à 04:42:30
Code :
|
Juste un problème d'ergonomie, ces messages d'erreurs n'aident pas l'utilisateur, tu dois rappeler les conditions qui font foirer ton test.
Pour le reste il manque un bout.
Marsh Posté le 03-05-2007 à 10:30:12
Je vais modifier cela
Autrement, je n'ai mis la que la partie du script qui concerne le cas valid=inscription (et il y a tout )
Marsh Posté le 03-05-2007 à 11:23:08
Encore des SELECT * ... Pourquoi faire un SELECT * (ou SELECT COUNT(*)) qui rapatrie TOUT l'enregistrement alors que seul le pseudo est vérifié ?
Après on dit que php n'est pas sécurisé, mais ce sont les gens qui ne savent pas l'utiliser, en fait.
2èmement, il y a une magnifique injection SQL dans ta recherche des pseudos, encore une faille de sécurité.
Idem pour la vérif du mail.
Marsh Posté le 03-05-2007 à 13:33:40
Je ne me suis pas prétendu expert en PHP, c'est pour cela que je viens demander de l'aide
Pour les deux requêtes de recherche, ceci serait-il plus optimisé ?
Code :
|
Code :
|
Ensuite, à propos de l'injection SL, où est le problème et comment le corriger ?
Cela peut-il aider pour le problème de départ qui est le problème d'inscription ?
Marsh Posté le 03-05-2007 à 13:51:03
Si tu n'as pas les magic_quote activés c'est dangereux. Et même avec c'est peu recommandable. Imagine que comme pseudo je saisisse ' OR 1=2 -- ta requête ne renverra jamais de résultat et je pourrais donc créer des doublons à la pelle. pour éviter cela : http://fr.php.net/mysql_real_escape_string
Marsh Posté le 03-05-2007 à 14:22:11
Citation : $motdepasse = stubstr($caracteres_melange, 0, 8); //selection de 8caractères |
je sais pas si c'est une faute de frappe dans le code que tu as mis ici, mais ça m'a tout l'air d'une erreur!
Marsh Posté le 03-05-2007 à 14:37:29
J'ai corrigé les requêtes, le substr et ajouté un mysql_real_escape_string() pour les deux requêtes de recherche mais j'ai toujours la page blanche
Marsh Posté le 03-05-2007 à 14:44:19
C'est quoi ce stockage des erreurs?? C'est un peu moyen limite bof...
Plutôt que d'utiliser un $i et des tonnes de variables pour tes erreurs utilise plutôt quelque chose comme ça :
Ligne 6, remplacer par :
$lesErreurs = array();
A chaque fois que tu veux ajouter une erreur tu fais simplement :
$lesErreurs[] = "Le texte blablabla erreur dégage tu pue";
Et pour l'affichage, plutôt que de faire plusieurs echo tu fais un simple :
foreach($lesErreurs as $erreur) echo $erreur,'<br />';
A la place du test sur le $i tu fais :
if(count($lesErreurs)==0)
Enfin je dis ça... C'est comme tu veux mais ça me parait bien plus logique et plus clair.
Pour ton problème de page blanche, tu es sûr que le problème ne vient pas du code que tu ne nous montre pas?
Marsh Posté le 03-05-2007 à 14:45:39
Google-> Prepared Statements
Marsh Posté le 03-05-2007 à 14:50:09
dwogsi a écrit : +1 |
Gné?
Marsh Posté le 03-05-2007 à 14:51:29
Ba j'le vois bien revennir avec pas mal de questions s'il part la dessus.
Donc je proposais de simples mysql_real_escape_string(). Mais je suis tout à fait d'accord, les prepared statements c'est bien mieux.
Marsh Posté le 03-05-2007 à 14:54:07
Je prends en compte toutes les suggestions, avec un array, ça sera peut-être plus "simple", je vais voir ça
Voilà le début de mon code( ça gère la validation de la connexion) :
Code :
|
Marsh Posté le 03-05-2007 à 15:11:41
C'est à dire
Pour le foreach, j'ai procédé comme tu m'as indiqué, j'ai une parse error
Code :
|
Marsh Posté le 03-05-2007 à 15:15:02
Code :
|
Marsh Posté le 03-05-2007 à 15:20:47
Ah ok, d'accord
Sinon j'ai vérifié, dans la page inscription.php, j'ai bin mis confirmation.php?valid=inscription, soit la valeur du $_GET['valid']. S'il en avait été autrement, il y a le else qui affiche un message d'erreur disant que l'on ne devrait pas se trouver là.
Marsh Posté le 03-05-2007 à 15:23:15
Oui c'est aussi ce que je me disais en fait.
Bon, par page blanche tu entends quoi? Visuellement? Si oui, y-a-t-il quelque chose dans la source de la page?
Si c'est en ligne, envois un lien.
Marsh Posté le 03-05-2007 à 15:27:54
Bah y'a vraiment rien, juste le fond de page (qui est coloré mais OSEF )
J'ai ça dans la source
Code :
|
Mes balises body et html sont bien fermées dans mon code, j'ai vérifié.
Par contre j'ai rien mis en ligne .
EDIT : et le commentaire vient du fichier où j'ai mis mes fonctions (identifiants de connexion, calcul du temps de génération de la page) qui est inclus dans ce fichier-ci
Marsh Posté le 04-05-2007 à 00:03:28
Bon, on a trouvé la solution. Ca pas été simple mais on a trouvé comment corriger le problème. Si ça intéresse quelqu'un de savoir, j epeux mettre le code final
Marsh Posté le 03-05-2007 à 02:36:00
Bonsoir,
je suis en train de réaliser un forum, j'ai actuellement un problème avec la page d'inscription. En effet, après des vérifications du pseudo et de l'e-mail, après avoir protégé les données, après avoir généré le mot de passe aléatoirement, j'insère dans la base de donnée, je créé les variable de session et j'ai un message selon si cela a marché ou pas. Seul problème, au moment de valider, la seule chose que j'ai, c'est une page "blanche"
Voici mon code (du moins une partie) :
Comment puis-je régler ce problème ? Merci d'avance
Message édité par Tristou le 03-05-2007 à 14:40:21