Bug code source dans l'enregistrement O forum
Utilisateur anonyme
-
avion-f16 Messages postés 20368 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 20368 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pour faire court , j'ai un petit bug dans mon script pour la mise en place d'un forum dans mon site web :p.
le bug est situé dans la partie enregistrement du forum, et plus precisement dans la partie reservée a l'image antibot , cette derniere , j'arrive a l'afficher coorectement , mais je n'arrive as a trouver le probleme dans le if( ).
Si quelqu'un veut bien m'aider je lui en serais reconnaissant .
merci :)
Pour faire court , j'ai un petit bug dans mon script pour la mise en place d'un forum dans mon site web :p.
le bug est situé dans la partie enregistrement du forum, et plus precisement dans la partie reservée a l'image antibot , cette derniere , j'arrive a l'afficher coorectement , mais je n'arrive as a trouver le probleme dans le if( ).
Si quelqu'un veut bien m'aider je lui en serais reconnaissant .
merci :)
A voir également:
- Bug code source dans l'enregistrement O forum
- Code ascii - Guide
- O&o shutup10 - Télécharger - Confidentialité
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
13 réponses
voici mon code ( il y'a peut etre des zones qui sont effacées pour eviter de divulger les infos sur mon site) :
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
$milieu_html = NULL;
?>
<?php
$i = 0;
$temps = time();
$signature = mysql_real_escape_string($_POST['signature']);
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$msn = mysql_real_escape_string($_POST['msn']);
$website = mysql_real_escape_string($_POST['website']);
$localisation = mysql_real_escape_string($_POST['localisation']);
$pass = md5($_POST['password']);
$confirm = md5($_POST['confirm']);
$milieu_html = mysql_real_escape_string($_POST['verif_code']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
if ($pass != $confirm || empty($confirm) || empty($pass))
$mdp_erreur = "Votre mot de passe et votre confirmation sont differents, ou sont vides";
$i++;
?>
<?php //partie antibot
if(Isset($_POST['verif_code']) AND !Empty($_POST['verif_code']))
{ // Le champ du code de confirmation a été remplis
if($_POST['verif_code'] !== $_SESSION['aleat_nbr'])
{
$i++;
$milieu_html = 'Votre code de confirmation n est pas bon ! Merci de réessayer.';
}
}
?>
<?php
$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);
if ($nombremail != 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//verification de la forme
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
<body>
<div class="contenu1">
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}
//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 2;
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>'.$milieu_html.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
$milieu_html = NULL;
?>
<?php
$i = 0;
$temps = time();
$signature = mysql_real_escape_string($_POST['signature']);
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$msn = mysql_real_escape_string($_POST['msn']);
$website = mysql_real_escape_string($_POST['website']);
$localisation = mysql_real_escape_string($_POST['localisation']);
$pass = md5($_POST['password']);
$confirm = md5($_POST['confirm']);
$milieu_html = mysql_real_escape_string($_POST['verif_code']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
if ($pass != $confirm || empty($confirm) || empty($pass))
$mdp_erreur = "Votre mot de passe et votre confirmation sont differents, ou sont vides";
$i++;
?>
<?php //partie antibot
if(Isset($_POST['verif_code']) AND !Empty($_POST['verif_code']))
{ // Le champ du code de confirmation a été remplis
if($_POST['verif_code'] !== $_SESSION['aleat_nbr'])
{
$i++;
$milieu_html = 'Votre code de confirmation n est pas bon ! Merci de réessayer.';
}
}
?>
<?php
$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);
if ($nombremail != 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//verification de la forme
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
<body>
<div class="contenu1">
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}
//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 2;
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>'.$milieu_html.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
Ca fait presque une semaine que je cherche le petit "hic" dans ce code, donc celui qui le trouvera ou qui essayera :p de le trouver , aura mon entière gratitude :D
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Place ton code entre la balise "code" quand tu écris un message sur ce site.
Une balise c'est comme ... strong, em, p, div, span, h1, h2, ...
Une balise c'est comme ... strong, em, p, div, span, h1, h2, ...
non mais c'est bon t'inquiete, je ne vais quand meme pas lui faire une injection sql :) , sinon tu pourrais pas me donner stp le bon code , merci
bon aparement personne ne veut m'aider , alors , je laisse ce topic ouvert en attendant une reponse que je n'aurais peut etre jamais :'(
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
$milieu_html = NULL;
?>
<?php
$i = 0;
$temps = time();
$signature = mysql_real_escape_string($_POST['signature']);
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$msn = mysql_real_escape_string($_POST['msn']);
$website = mysql_real_escape_string($_POST['website']);
$localisation = mysql_real_escape_string($_POST['localisation']);
$pass = md5($_POST['password']);
$confirm = md5($_POST['confirm']);
$milieu_html = mysql_real_escape_string($_POST['verif_code']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}
if ($pass != $confirm || empty($confirm) || empty($pass))
$mdp_erreur = "Votre mot de passe et votre confirmation sont differents, ou sont vides";
$i++;
?>
<?php //partie antibot
if(Isset($_POST['verif_code']) AND !Empty($_POST['verif_code']))
{ // Le champ du code de confirmation a été remplis
if($_POST['verif_code'] !== $_SESSION['aleat_nbr'])
{
$i++;
$milieu_html = 'Votre code de confirmation n est pas bon ! Merci de réessayer.';
}
}
?>
<?php
$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);
if ($nombremail != 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//verification de la forme
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
<body>
<div class="contenu1">
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{
echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';
if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}
//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 2;
}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>'.$milieu_html.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>