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

PHP & Base de données Discussion :

Souci anti bot pour un livre d'or


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    retour
    Invité(e)
    Par défaut Souci anti bot pour un livre d'or
    bonjour

    j'ai mis unn systéme anti boot pour mon livre d'or

    mais il ne veut pas posté ou marché dés quon met tout les champs et un message et le code qui est dans l'image

    il me dit veuillez remplir tout les champs

    donc voilà

    http://forum.exemple.free.fr/livre_d_or.php

    et le code

    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
    	  <legend>Vérification</legend>
     
    	  <p class="texte_blanc">
    	  Vous devez recopier les chiffres que vous voyez dans l'image ci-dessous. Ce n'est pas un "jeu", c'est simplement un moyen qui permet d'éviter que des robots s'inscrivent sur le site.
    	  </p>
     
    	  <p class="texte_blanc">
    	  <!-- On affiche l'image générée par notre script -->
    	  <img src="anti_bots/verif_code_gen.php" id="img_verif" alt="Code de vérification" title="Code de vérification" />
    <br />
    <br />
          <input type="button" name="button_regen" onclick="document.getElementById('img_verif').src = 'anti_bots/verif_code_gen.php?'+(parseInt(Math.random()*10000000))" value="Changer l'image" alt="Changer l'image" title="Changer l'image" />
    <br />
    <br />
          Merci de retaper le code les 6 chiffres :
    <br />
    <br />
          <input type="text" name="verif_code" />
    	  </p></fieldset>
    et dans la page ajout_message

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    <?php
          // Cette fonction doit être appelée avant tout code html
     
    	  session_start();
     
          header('refresh: 5; url=../livre_d_or.php');
    	  ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Bienvenue sur mon site</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
    <link href="../design/par_default.css" rel="stylesheet" type="text/css" title="Design" />
    <link href="../design/scode.css" rel="stylesheet" type="text/css" title="Design" />
    </head> 
    <body>
                                        <div class="cadre_principale">
    									<div class="cadre_du_haut">
    									<?php include("../menu/menu_du_haut.php"); ?>
    									</div>
    									<!-- fin div class="cadre_du_haut" -->
    									<div class="cadre_du_bas">
                                        <div class="cadre_du_menu_de_gauche">
    									<?php include("../menu/menu_de_gauche.php"); ?>
    									</div>
    									<!-- fin div class="cadre_du_menu_de_gauche" -->
    	                                <div class="cadre_du_programme">
     
          <?php
     
    	  //Un ajout ?
     
          include('../includes/connect01.php');
     
    	  // Vérification de l'anti_boot
     
    	  $code_ok = false;
    	  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'])
    	  {
     
    	  // Si le champ est égal au code généré par l'image
     
    	  $milieu_html = 'Vous avez entré le bon code de confirmation !';
    	  $code_ok=true;
    	  }
    	  else
    	  {
    	  $milieu_html = 'Votre code de confirmation n\'est pas bon ! Merci de réessayer.<br /><a href="#" onclick="history.go(-1);">Retour</a>';
    	  $i++;
    	  }
    	  }
    	  else
    	  {
    	  $milieu_html = 'Vous devez remplir le champ du code de confirmation !</p>';
    	  $i++;
    	  }
    	  if($code_ok==true)
    	  {
     
    	  // Code avec l'inscription dans la base INSERT INTO...
     
    	  }
     
    	  if ($i == 0) // Si il est vide, il n'y a pas d'erreur
    	  {
     
          //Sécurité anti-hack pour tout les champs
     
          $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
    	  $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
    	  $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    	  $site = mysql_real_escape_string(htmlspecialchars($_POST['site_web']));
    	  $milieu_html = mysql_real_escape_string(htmlspecialchars($_POST['milieu_html']));
     
          //Valeur par defaut
     
          $dPseudo = 'Votre Pseudo';
    	  $dMail = 'Votre Mail';
    	  $dSite = 'Votre Site';
    	  $dMessage = 'Votre Message';
    	  $dMilieu_html = 'milieu_html';
     
          if (($pseudo === '') || ($pseudo === $dPseudo) || ($mail === '') || ($mail === $dMail)
    	  || ($message === '') || ($message === $dMessage) || ($site === '') || ($site === $dSite)
    	  || ($milieu_html === '') || ($milieu_html === $dMilieu_html))
     
    	  { echo '<p align="center" class="texte_blanc">Veuillez remplir tout les champs svp !</p>'; }
    	  else
    	  {
     
          $date = date('d/m/Y');
    	  $heure = date('H:i');
     
          if (!mysql_query("INSERT INTO livre_d_or VALUES ('', '".$pseudo."', '".$message."', '".$date."', '".$heure."', '".$mail."', '".$site."', '".$milieu_html."', '".$_POST['note']."' ) ")) die (mysql_error());
     
          echo '<p align="center" class="texte_blanc">Votre message à bien été ajouté ! Merci</p>';
    	  }
     
          //On redirige vers la page livre_d_or.php
          //On se deconnecte
     
          mysql_close();
    	  	  }
    		  ?>
    merci de votre aide pour fonctionné d'anti boot dans ce livre d'or

    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($milieu_html === '') || ($milieu_html === $dMilieu_html))
    Tu n'as pas de champ qui s'appelle "milieu_html".

    Sinon ce n'est pas "boot" mais "bot" pour "robot"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    retour
    Invité(e)
    Par défaut
    re ç'est bon j'ai compris comment on met

    mais juste un détail

    j'ai éssayé de mettre le bon chiffre là il me dit votre message à été bien enregistré donc là ça marche

    mais si on met un mauvais chiffre où on oublie de mettre de le mettre il oublie de mettre la phrase

    Votre code de confirmation n\'est pas bon ! Merci de réessayer.


    Vous devez remplir le champ du code de confirmation !

    mais par contre si on met les bons chiffres

    là il me dit bien votre messages à étais bien enregistré

    pour quoi il ne met pas la phrase que le code n'est pas remplit où il est mauvaise et pour temps j'ai bien mis la classe texte blanc

    voilà le code

    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
    	  // Vérification de l'anti_boot
     
    	  $code_ok = false;
    	  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'])
    	  {
     
    	  // Si le champ est égal au code généré par l'image
     
    	  $milieu_html = '<p align="center" class="texte_blanc">Vous avez entré le bon code de confirmation !';
    	  $code_ok=true;
    	  }
    	  else
    	  {
    	  $milieu_html = 'Votre code de confirmation n\'est pas bon ! Merci de réessayer.<br /><a href="#" onclick="history.go(-1);">Retour</a>';
    	  $i++;
    	  }
    	  }
    	  else
    	  {
    	  $milieu_html = 'Vous devez remplir le champ du code de confirmation !</p>';
    	  $i++;
    	  }
    	  if($code_ok==true)
    	  {
     
    	  // Code avec l'inscription dans la base INSERT INTO...
     
    	  }
     
    	  if ($i == 0) // Si il est vide, il n'y a pas d'erreur
    	  {
    merci de ton aide

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    il faut que tu affiches l'erreur que tu as stockée dans $milieu_html
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    retour
    Invité(e)
    Par défaut
    re

    mais dans le forum j'ai mis ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	  else
    	  {
    	  $texte  = '<h1>Inscription interrompue</h1>';
    	  $texte .= '<p class="texte_blanc">Une ou plusieurs erreurs se sont produites pendant l\'incription.<br />';
    	  $texte .= ''.$i.' erreur(s).<br />';
    	  $texte .= ''.$pseudo_erreur1.'';
    	  $texte .= ''.$pseudo_erreur2.'<br />';
    	  $texte .= ''.$mdp_erreur.'<br />';
    	  $texte .= ''.$email_erreur1.'';
    	  $texte .= ''.$email_erreur2.'<br />';
    	  $texte .= ''.$milieu_html.'';
    	  $texte .= '<p class="texte_blanc">Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
    	  }
    	  mysql_close();
    donc il marche

    mais dans la page livre d'or j'ai repris la même chose mais ça n'a pas marché

    donc j'ai éssayé juste mis ce code

    $texte .= ''.$milieu_html.'</p>';

    donc en résultat le code de la page seras

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    <?php
          // Cette fonction doit être appelée avant tout code html
     
    	  session_start();
     
          header('refresh: 5; url=../livre_d_or.php');
    	  ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Bienvenue sur mon site</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
    <link href="../design/par_default.css" rel="stylesheet" type="text/css" title="Design" />
    <link href="../design/scode.css" rel="stylesheet" type="text/css" title="Design" />
    </head> 
    <body>
                                        <div class="cadre_principale">
    									<div class="cadre_du_haut">
    									<?php include("../menu/menu_du_haut.php"); ?>
    									</div>
    									<!-- fin div class="cadre_du_haut" -->
    									<div class="cadre_du_bas">
                                        <div class="cadre_du_menu_de_gauche">
    									<?php include("../menu/menu_de_gauche.php"); ?>
    									</div>
    									<!-- fin div class="cadre_du_menu_de_gauche" -->
    	                                <div class="cadre_du_programme">
     
          <?php
     
    	  //Un ajout ?
     
          include('../includes/connect01.php');
     
    	  // Vérification de l'anti_boot
     
    	  $code_ok = false;
    	  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'])
    	  {
     
    	  // Si le champ est égal au code généré par l'image
     
    	  $milieu_html = '<p align="center" class="texte_blanc">Vous avez entré le bon code de confirmation !';
    	  $code_ok=true;
    	  }
    	  else
    	  {
    	  $milieu_html = 'Votre code de confirmation n\'est pas bon ! Merci de réessayer.<br /><a href="#" onclick="history.go(-1);">Retour</a>';
    	  $i++;
    	  }
    	  }
    	  else
    	  {
    	  $milieu_html = 'Vous devez remplir le champ du code de confirmation !</p>';
    	  $i++;
    	  }
    	  if($code_ok==true)
    	  {
     
    	  // Code avec l'inscription dans la base INSERT INTO...
     
    	  }
     
    	  if ($i == 0) // Si il est vide, il n'y a pas d'erreur
    	  {
     
          //Sécurité anti-hack pour tout les champs
     
          $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
    	  $mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
    	  $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    	  $site = mysql_real_escape_string(htmlspecialchars($_POST['site_web']));
     
          //Valeur par defaut
     
          $dPseudo = 'Votre Pseudo';
    	  $dMail = 'Votre Mail';
    	  $dSite = 'Votre Site';
    	  $dMessage = 'Votre Message';
     
          if (($pseudo === '') || ($pseudo === $dPseudo) || ($mail === '') || ($mail === $dMail)
    	  || ($message === '') || ($message === $dMessage) || ($site === '') || ($site === $dSite))
     
    	  { echo '<p align="center" class="texte_blanc">Veuillez remplir tout les champs svp !</p>'; }
    	  else
    	  {
     
          $date = date('d/m/Y');
    	  $heure = date('H:i');
     
          if (!mysql_query("INSERT INTO livre_d_or VALUES ('', '".$pseudo."', '".$message."', '".$date."', '".$heure."', '".$mail."', '".$site."', '".$_POST['note']."' ) ")) die (mysql_error());
     
          echo '<p align="center" class="texte_blanc">Votre message à bien été ajouté ! Merci';
    	  }
    	  {
    	  $texte .= ''.$milieu_html.'</p>';
    	  }
     
          //On redirige vers la page livre_d_or.php
          //On se deconnecte
     
          mysql_close();
    	  	  }
    		  ?>
     
                                        </div>
    									<!-- fin div class="cadre_du_programme" -->
    									</div>
    									<!-- fin div class="cadre_du_bas" -->
    									</div>
    									<!-- fin div class="cadre_principale" -->
    </body>
    </html>
    où bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	  else
    	  {
    	  $texte .= ''.$i.' erreur(s).<br />';
    	  $texte .= ''.$milieu_html.'';
    	  }
    	  mysql_close();
    pour voir mais ce bout de code j'ai mis à la fin mais ça n'a pas fonctionné

    merci de ton aide

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $texte = 'tout_ce_que_tu_veux';
    ca n'affiche rien.

    Il faut que quelque part dans ton code tu affiches ta variable :
    echo $texte;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [Sécurité] Login : anti-bots
    Par kivan666 dans le forum Langage
    Réponses: 14
    Dernier message: 27/07/2006, 15h58
  2. Code pour anti-bot dans DLL Isapi Web
    Par fredfred dans le forum Web & réseau
    Réponses: 5
    Dernier message: 20/04/2006, 17h01
  3. Quel anti-virus pour suse 8.1
    Par spiwis dans le forum Sécurité
    Réponses: 11
    Dernier message: 07/07/2005, 09h09
  4. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35

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