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 :

Systéme de calcul avant une inscription


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Systéme de calcul avant une inscription
    Bonjour,

    Voila j'essaie de creer un systéme de calcul mental avant de pouvoir s'inscrire j'utilise ça pour éviter l'attaque de bot j'en ai recu constament sur mon site et c'est pas trop trop marrant quoi .

    Le probléme est que je m'embrouille dans mes condition faut dire qu'il y en a vraiment partout !

    page: creation.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form action="1.php" method="post">
    	<label>Pseudo</label><input name="pseudo" value="Pseudo"><br />
    	<label>Password</label><input name="password" type="password"><br />
    	<label>Email</label><input name="email" value="email@domaine"><br />
    	<label><? $a=rand(1,20); $b=rand(1,20); echo '. ' .$a. ' + ' .$b. ':'; ?></label><input name="calcul"><br />
    	<br />
    	<input value="Envoyer" type="submit"><input value="Effacer" type="reset">
    	</form>

    page: 1.php

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?
    if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['password'])) && (!empty($_POST['email'])) && (!empty($_POST['calcul'])) )
    {
     
     
    	$serveur="sql.free.fr";
    	$user="ffff";
    	$mdp="ssssssss";
     
    	mysql_connect($serveur,$user,$mdp);
    	mysql_select_db($user);
     
     
    	$calcul=($_POST['calcul']);
            $pseudo=htmlentities(mysql_real_escape_string($_POST['pseudo']));
    	$password=htmlentities(mysql_real_escape_string($_POST['password']));
    	$email=htmlentities(mysql_real_escape_string($_POST['email']));;
     
    	$r=mysql_query('SELECT * FROM compte1 WHERE pseudo= "'.$pseudo.'" ');
    	$verif = mysql_num_rows($r);
     
    	if ($verif==0)
    	{
     
    		mysql_query("INSERT INTO compte1(id, pseudo, password, email) VALUES ('', $pseudo, $password, $email)");
    		mysql_close();
     
    		echo "C est bon";
    	}
     
    	elseif
    	{
    		$r=$a+$b;
    		if ($r != $calcul)
    		{
    			echo 'NON erreur de calcul';
    		}
    	}
     
    	else
    	{
    		echo 'Le pseudo est le meme désolé';
    	}
    }
     
    else
    {
    	echo 'Tous les champs NON REMPLIS';
    }

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    tu peux passer par les sessions pour faire ce genre de choses :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $code_securite = '';
     
    for($i=1; $i<=6; $i++)
        $code_securite .= mt_rand(0, 9);
     
    $_SESSION['code_securite'] = $code_securite;

    Le formulaire :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    Entrer le code suivant : <?php echo $code_securite; ?>
    <input type="text" name="code_securite" />
    ...

    La page de traitement php :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $code_rentre = $_POST['code_securite'];
     
    if($code_rentre != $_SESSION['code_securite'])
    // code pas bien rentré
    else
    // code bien rentré

    Voilà une version minimaliste ne demandant qu'à etre améliorée par des images notamment car sinon le code est visible en clair dans le code source

Discussions similaires

  1. [XL-2003] Calcul nombre après et avant une date
    Par franckym44 dans le forum Excel
    Réponses: 4
    Dernier message: 31/05/2013, 13h27
  2. [XL-2007] Bug sur le calcul d'une fonction avant impression
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 12/01/2011, 16h22
  3. [1.x] Calcul d'une valeur avant enregistrement admin generator
    Par Jo Dalton dans le forum Symfony
    Réponses: 4
    Dernier message: 29/09/2010, 19h35
  4. Réponses: 2
    Dernier message: 17/04/2007, 12h44
  5. [Système] Exécution Formule de calcul dans une chaîne
    Par san--antonio dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2006, 09h11

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