Problème lors de l'inscription !

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sigma2008, 21 Août 2013.

  1. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    790
    J'aime reçus:
    5
    BOnjour,
    Je viens de développer un site web avec un formulaire d'inscription, j'ai bien regarder partout pour ne pas laisser de faille, sauf qu'il y a des visiteurs qui peuvent s'inscrire sans donner leurs email qui est obligatoire XD, voici mon petit HTML avec le javascript comme et un code php qui vérifier l'email en cas de hic avec le javascript :

    Code:
    <script language="JavaScript">
    <!--
    function couleur(obj) {
         obj.style.backgroundColor = "#ffffff";
    }
     
    function check() {
    	var msg = "";
     
    		if (document.formulaire.mail.value != "")	{
    		indexAroba = document.formulaire.mail.value.indexOf('@');
    		indexPoint = document.formulaire.mail.value.indexOf('.');
    		if ((indexAroba < 0) || (indexPoint < 0))		{
    		document.formulaire.mail.style.backgroundColor = "#cccccc";
    			msg += "Erreur mail";
    		}
    	}
    	else	{
    		document.formulaire.mail.style.backgroundColor = "#cccccc";
    		msg += "Erreur mail";
    	}
     
    if (document.formulaire.pseudo.value == "")	{
    		msg += "-Veuillez saisir votre pseudo\n";
    		document.formulaire.pseudo.style.backgroundColor = "#cccccc";
    	}
     
    if (document.formulaire.pseudo.value.length > 18)	{
    		msg += "Erreur pseudo";
    		document.formulaire.pseudo.style.backgroundColor = "#cccccc";
    	}
     
     if (document.formulaire.pseudo.value.length < 2)	{
    		msg += "Erreur pseudo";
    		document.formulaire.pseudo.style.backgroundColor = "#cccccc";
    	}
     
    if(document.formulaire.motpasse.value.length < 6)
    	{ 
    		msg += "Erreur mot de passe";
    		document.formulaire.motpasse.style.backgroundColor = "#cccccc";
    	}
    	
    	
    
    	
    	if (msg == "") return(true);
    	else	{
    		alert(msg);
    		return(false);
    	}
    }
    //-->
    </script>
    <script type="text/javascript">
    // Formatage d'un champs mail
    function valid_mail(evt) {
    	var keyCode = evt.which ? evt.which : evt.keyCode;
    	var interdit = 'àâäãçéèêëìîïòôöõùûüñ &*?!:;,\t#~"^¨%$£?²¤§%*()[]{}<>|\\/`\'';
    	if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0) {
    		return false;
    	}
    }
    </script>
    
    <form method="post" action="inscription.php" enctype="application/x-www-form-urlencoded" name="formulaire" onSubmit="return check();">
    Pseudo :
    <input name="pseudo" value="" onKeyUp="javascript:couleur(this);">
    Email :
    <input name="mail" value="" onKeyUp="javascript:couleur(this);" onKeypress="return valid_mail(event);" >		
    Mot de Passe :
    <input type="password" name="motpasse" value="" onKeyUp="javascript:couleur(this);" >
    <input class="boutonsubmit" type="submit" name="submit" value="S'inscrire">
    
    </form>
    Le code PHP d’exécution :

    Code:
    $date= date('c');
    $pass = $_POST['motpasse'];
    $mail = htmlspecialchars($_POST['mail']);
    $pseudo = htmlspecialchars($_POST['pseudo']);
    $clef = md5(microtime(TRUE)*100000);
    $ip=$_SERVER['REMOTE_ADDR'];
    $pass5=md5($pass);
    
    //tester l'existance de pseudo ou email
    $ens= "SELECT * from users where email='$mail'";
    $dbdb=mysql_query($ens) or die (mysql_error());
    while ($enseg = mysql_fetch_array($dbdb)) {
    $erreur=1;
    if($enseg['email']==$mail){
    
    echo '<script language="javascript" type="text/javascript">
    	window.location.replace("inscription.php?dup=dupmail");
    	</script>';
    	
    }
    }
    
    if($erreur!=1 and isset($_POST['mail'])){
    $requete = "INSERT INTO users (id, pseudo, email, pass, clemail, mailactiv, reset, date, ip, insc2, insc3, lastconnect, lastip, secisconnec) VALUES ('', '$pseudo', '$mail', '$pass5','$clef', '0', '', '$date', '$ip', '0', '0', '', '', '$date')";
    
    $execution = mysql_query($requete);
    
    Merci beaucoup de votre aide :)
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 162
    J'aime reçus:
    337
    - htmlspecialchars() en lieu et place de mysql_real_escape_string() pr échapper les données envoyées à MySQL, donc on px passer à 1=1 ta query "SELECT * from users where email='$mail'" (renseignes toi sur les injections SQL).
    - mot de passe juste en md5() sans salt 8O
    - Redirection en JS, le code PHP en dessous risque de s'exécuter qd même.
     
  3. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    790
    J'aime reçus:
    5
    Merci spout, que propose tu pour une redirection pour que le code en dessous ne s'exécute pas ?
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 162
    J'aime reçus:
    337
    Redirection PHP (header('Location: ...'); suivit de exit();
     
Chargement...
Similar Threads - Problème inscription Forum Date
Problème d'inscription dans l'annuaire de webrank Problèmes de référencement spécifiques à vos sites 7 Février 2011
Problème formulaire d'inscription Développement d'un site Web ou d'une appli mobile 3 Août 2008
problème de redirection non souhaitée Administration d'un site Web 28 Avril 2022
Problème d'indexation Produits Prestashop Crawl et indexation Google, sitemaps 28 Avril 2022
Problème d'affichage des campagnes Google Ads dans un tableau de bord Data Studio AdWords 26 Avril 2022
Problème de vitesse d'affichage des pages sur Analytics Google Analytics 26 Avril 2022
Problème : Google Crawl et Index des pages en No Index et bloqué par le robot.txt Crawl et indexation Google, sitemaps 26 Avril 2022
Problème avec GA4 : nb de visiteurs temps réel et par jour Google Analytics 19 Avril 2022
Problème indexation pages précises en React.js Débuter en référencement 19 Avril 2022
Problème de référencement Demandes d'avis et de conseils sur vos sites 8 Avril 2022
Problème adsence : Annonces ne s'affichent plus AdSense 10 Mars 2022
problèmes procédures stockées Administration d'un site Web 9 Mars 2022
Problème récupération fichier vps Développement d'un site Web ou d'une appli mobile 5 Mars 2022
Problème config postfix. Administration d'un site Web 5 Mars 2022
Search Console Problème d'indexation Crawl et indexation Google, sitemaps 24 Février 2022
Problème d'url canonique Problèmes de référencement spécifiques à vos sites 22 Février 2022
Problème indexation car élément "url" manquant sur logo Crawl et indexation Google, sitemaps 11 Février 2022
Problème avec un menu en ajax via jquery Problèmes de référencement spécifiques à vos sites 6 Février 2022
Problème url rewriting et redirection URL Rewriting et .htaccess 4 Février 2022
Search Console Problème indexation sitemap Problèmes de référencement spécifiques à vos sites 1 Février 2022