Partage
  • Partager sur Facebook
  • Partager sur Twitter

checkbox contre les spams

Sujet résolu
Anonyme
    17 décembre 2008 à 21:08:40

    Salut a toutes et a tous,

    J'ai trouver un script qui me parait bien et il marche, c'est contre les spams.
    Sa marche de la façon suivante :

    3 cases et le bouton envoyer est en disabled.
    Pour que le bouton redevient normale il faut coché les 2 première case.
    Et si on coche la 3ème cases on peut aussi envoyer mais comme les bots remplir tous les champs je voulais savoir si il était possible que des que la 3ème cases est coché en même tant que les 2 première le bouton redevient en disabled.

    Est-ce que c'est possible ?

    <script type="text/javascript">
    <!--
    function ChangeStatut(formulaire) 
    {
    	if(formulaire.regagree1.checked  == true && formulaire.regagree2.checked == true) { formulaire.validation.disabled = false }
    	if(formulaire.regagree1.checked == false || formulaire.regagree2.checked == false) { formulaire.validation.disabled = true 
    }
    -->
    </script>
    <form name="formulaire">
    
    <input type="checkbox" name="regagree1" value="valeur" onClick="ChangeStatut(this.form)" />
    <input type="checkbox" name="regagree2" value="valeur" onClick="ChangeStatut(this.form)" />
    <input type="checkbox" name="regagree3" value="valeur" onClick="ChangeStatut(this.form)" />
    
    <p><input type="submit" name="validation" value="Envoyer !" disabled /></p>
    </form>
    


    Qui peut m'aider svp ??

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2008 à 21:13:43

      ca sert a rien les disabled... le bot modifie ce genre de truk...
      il faut pas l'empecher de poster... il faut faire avec du php que si il poste n'importekoi, tu lui dit d'aller se faire voire...
      (si le post=='' si le post==' ')
      après pour les bot qui remplissent... tu peux faire un truk ou il faut recopier u texte(qui est dans une image) ou demander de faire une addition.. un truk tout con qu'un ot ne comprendrait pas quoi...
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        17 décembre 2008 à 21:17:17

        Je savais pas qu'il pouvais changer le disabled, si on m'avais conseillé sa mais sa marche pas !

        <?
        $au_hasard = mt_rand(0,strlen($questions));
        $questions = array("3x2","5+7","2+3");
        $reponses = array("six","douze","cinq");
        
        $_POST['question_robot'] != $reponses[$_POST['questions']]
        ?>
        
        <label><font color="red">[!]</font> Combien font <?php echo $questions[$au_hasard]; ?> ? </label><input type="text" size="30" maxlength="5" name="question_robot" title="(écrire en lettre)" /><br /><br />
        <input type="hidden" name="questions" value="<?php echo $au_hasard; ?>"/>
        

        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2008 à 21:20:49

          j'ai franchement la flem de lire ton code...
          moi a ta place, je génererais 2 nombre aléatoires entre 1 et 10
          tu les stoque en session et tu les écrit sur la page en demandant de les aditionner...
          quant on arive sur la page qui enregistre dans la bdd on regarde si le post résultat==$_SESSION['nb1']+$_SESSION['nb2']
          si oui tu entre.. sinon un header et tu envoi le gas chier... avec peut etre une redirection vers la apge précédente... et reremplissage des champs... sinon si quelqu'un fait un long post et se trompe dans le calcul, tu vas te faire fusiller :p
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            17 décembre 2008 à 21:37:57

            On va me trouvé bête mais je sais pas faire. :-°
            • Partager sur Facebook
            • Partager sur Twitter
              17 décembre 2008 à 21:51:34

              <?php
              session_start();
              function pif()
              {
              return round(mt_srand(0,9));
              }
              $nb1=pif();
              $nb2=pif();
              $_SESSION['nb1']=$nb1;
              $_SESSION['nb2']=$nb2;
              
              echo $nb1.' + '.$nb2' =?';
              ?>
              
              
              ensuite tu met un champ pour rentrer la réponse...
              tu le récupere en post et
              <code type="php">
              <?php
              if(intval($_SESSION['nb1'])+intval($_SESSION['nb1'])==$_POST['LeNomDuChampOuLutilisateurEntreSaReponse'])
              {
              //balbalbla tu rentre dans la bdd etc.
              }
              else
              {
              ?>
              <div onload="history.go(-1)"></div>
              <?php
              }
              ?>
              </code>
              
              • Partager sur Facebook
              • Partager sur Twitter

              checkbox contre les spams

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown