IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

sécuriser un formulaire par une équation


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 11
    Points
    11
    Par défaut sécuriser un formulaire par une équation
    bonjour tout le monde

    s'il vous plait j'ai un formulaire php que je veux sécurisée parce que ce formulaire ajoute dans ma base de donnèes les informations donnèes par l'utilisateur
    je veux donc le sécurisé contre les spam et pour le faire je veux ajouter un champs qui permet de donner des équations de mathematique simple et un champs qui permet à l'utilisateur d'introduire le resultat si le resultat est valide ça marche et les donnèes sont enregistrèes si non le formulaire n'est pas validé

    mais le problème que je ne sais pas comment le faire
    donc merci de m'aider

  2. #2
    Membre actif Avatar de chtipitou
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 214
    Points
    214
    Par défaut
    regarde des docs sur les "captcha"

  3. #3
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Tu as même l'info dans la FAQ, bon d'accord c'est un captcha générant une image, mais l'idée y est, après si tu ne sais pas faire, il faut préciser ce que tu ne sais pas faire...

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    merci pour votre rèponse mais ce que je veux c'est de prèsenter à l'utilisateur une petite equation genre
    que donne 1+2
    et il va tapez le resultat si sava ça y est le formulaire passe si non il ne passe pas
    mais je ne sais pas comment faire tout ça même lorsque j'ai vue les exemples de captcha d'image parce que je comprend pas comment faire pour calucler le resultat et le valider

    donc s'il vous plait si vous pouvez me donnez un exemple prècis ça sera tres gentille et merci

  5. #5
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Exemple (non testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // détermination des variables aléatoires
    $var_un = rand(1, 1500);
    $var_deux = rand(1, 1500);
     
    $total = $var_un + $var_deux;
     
     
    if ($total == $_POST['captcha']) {
        echo 'tout juste';
    } else {
        echo 'tout faux';
    }

  6. #6
    Membre actif Avatar de chtipitou
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 214
    Points
    214
    Par défaut
    Citation Envoyé par 12monkeys Voir le message
    Exemple (non testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // détermination des variables aléatoires
    $var_un = rand(1, 1500);
    $var_deux = rand(1, 1500);
     
    $total = $var_un + $var_deux;
     
     
    if ($total == $_POST['captcha']) {
        echo 'tout juste';
    } else {
        echo 'tout faux';
    }
    la ca ne peux pas marcher vu que tu generes les nombres au moment du traitement.

    en gros soit tu as un tableau d'equivalence en dur dans le php, soit tu te sers d'une base SQL.
    le principe est le meme

    je vais t'expliquer comment je vois la chose avec un tableau en PHP


    tu a un tableau dison avec des equations et leur resultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $tab[0]["equation"] = "1+1";
    $tab[0]["resultat"] = 2;
     
    $tab[1]["equation"] = "1+3";
    $tab[1]["resultat"] = 4;
     
    $tab[2]["equation"] = "24+1";
    $tab[2]["resultat"] = 25;

    dans la page ou tu generes le formulaire, tu choisis au hasard une entree du tableau, tu affiches donc "l equitation" correspondant.
    et pour un traitement plus simple, tu mets l'id du tableau dans un champs hidden.

    et lorsque tu va verifier le formulaire, tu compares le resultat de l'equation a la valeur de "resulat" pour l'indice du tableau renvoye par le champs hidden (si il est set, et avec les registrar global a OFF sinon c'est faillible)

    c'est une facon de gerer les captcha de facon minimaliste, mais ca evitera deja les robots posteur

  7. #7
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Citation Envoyé par chtipitou Voir le message
    la ca ne peux pas marcher vu que tu generes les nombres au moment du traitement.
    Bien sur, ce n'était qu'un exemple

    Perso je ferais exactement comme pour le captcha dans la FAQ : je génèrerais le calcul dans un fichier à part en incluant ensuite la demande (ex : 1 + 1) dans une image, dans ce fichier je placerais le résultat dans la session, comme ça dans la page du formulaire il ne reste qu'à vérifier que le résultat est juste.

    C'est l'exemple de la FAQ sauf qu'à la place de nombres et chiffres aléatoires on fait un calcul...

  8. #8
    Membre actif Avatar de chtipitou
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 214
    Points
    214
    Par défaut
    Citation Envoyé par 12monkeys Voir le message
    Bien sur, ce n'était qu'un exemple
    j'anticipe le copier collé et le repost pour dire que ca ne fonctionne pas.
    mais oui +1 pour suivre la faq

  9. #9
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    rrAvec une session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    session_start();
     
    function captchaCalcul() {
        $operators = array('-' => '-', '+' => '+', '*' => 'x');
     
        $operator = array_rand($operators);
     
        $op = $operators[$operator]; // on récupère l'opérateur de calcul
     
        $num = array('Zero', 'Un', 'Deux', 'Trois','Quatre', 'Cinq', 'Six', 'Sept','Huit', 'Neuf', 'Dix');
     
        $nb1 = array_rand($num);
        $nb2 = array_rand($num);
     
        if($operator === '-' && $nb1 < $nb2) {
            while($nb1 < ($nb2 = array_rand($num))); // on évite les résultats négatif en cas de soustraction
        }
     
        eval('$_SESSION[\'captchaResult\'] = strval('.$nb1.$operator.$nb2.');');
     
        return $num[$nb1]." <span class=\"gras\">".$op."</span> ".$num[$nb2];
    }
    puis la vérification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if ( $_POST['verif'] != '' and  $_POST['verif'] == ($_SESSION['captchaResult']) ) {
    Et bien sur, le formumlaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Combien font : <?php echo captchaCalcul(); ?> <input name="verif" type="text" id="verif" size="5" maxlength="3" />

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/11/2006, 09h59
  2. Réponses: 7
    Dernier message: 07/09/2006, 15h17
  3. maj d'un sous formulaire par une zone de liste
    Par mnssylvain dans le forum IHM
    Réponses: 3
    Dernier message: 31/08/2006, 22h46
  4. peut on changer un bouton de formulaire par une image?
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/08/2005, 13h55
  5. Valider un formulaire par une image
    Par Fleep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/10/2004, 01h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo