Aller au contenu

pixette

Membre
  • Compteur de contenus

    2
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Merci beaucoup, je commençais à désespérer d'avoir une réponse!...
  2. Bonjour, Je suis novice en php mais j'ai eu besoin d'installer un formulaire pour une inscription toute simple à une newsletter. Je voudrais savoir si ce code vous parait sécurisé, j'ai cru comprendre qu'il faut utiliser htmlentities, supprimer les guillemets et faire attention à session_start() mais je ne comprends pas comment... mais peut-être n'est-ce pas nécessaire sur ce script? Merci de vos conseils Voici la page de traitement du formulaire <?php /* nous démarrons la session afin de récupérer la valeur codée */ session_start(); /* Nous testons que la variable existe et qu'elle a bien la longueur souhaitée */ if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5) exit("Erreur !"); /* Comparaison entre les deux valeurs si elles sont différentes on arrete tout sinon on continue et on envoie le mail */ if($_SESSION['code'] != $_POST['verif']) exit("Erreur les valeurs sont différentes !"); /* on récupère le mail de la personne qui envoi le mail si elle la saisi on peut envisager de vérifier que ce champ est rempli avec une adresse valide mais ce n'est pas le but ici */ $exp = htmlentities($_POST['mail']); /*on formate les chaine d'objet et de corps du mail */ $objet = stripslashes($_POST['objet']); $action = stripslashes($_POST['action']); /* envoi du mail a proprement parlé */ $envoi= mail("moi_AT_site.fr", $action,"Action: $action\r\n"."From: $exp\r\n"."Reply-To: $exp\r\n"); if($envoi) echo"Votre demande a bien été prise en compte !"; else echo"Erreur"; /* on efface et détruit les varaibles de sessions */ session_unset(); session_destroy(); ?> Et ça c'est un code qui génère une image à recopier par l'utilisateur: <?php /* Démarage d'une session nécéssaire pour récupérer la valeur générée d'une page a l'autre */ session_start(); /* on définie la liste qui va servir a récupérer les lettres qui formeront la valeur a saisir : on exclue le 0 (zéro) pour eviter la confusion avec le O */ $liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; /* On créer une valeur qui sera notre code secret a saisir */ $code = ''; /* On crée une boucle pour créer une chaine de 5 caractères pris au hasard au sein de la variable $liste */ while(strlen($code) != 5) { $code .= $liste[rand(0,63)]; } /* on définit une variable de session nomée $_SESSION['code'] que l'on réutilisera plus tard */ $_SESSION['code']=$code; /* on crée une image de 50 pixels par 20 pixels */ $larg = 50; $haut =20; $img = imageCreate($larg, $haut); $rouge = imageColorAllocate($img,255,0,0); $noir = imageColorAllocate($img,0,0,0); $code_police=5; header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header("Content-type: image/jpeg"); /* incorporation de la variable variable $code dans l'image */ imageString($img, $code_police,($larg-imageFontWidth($code_police)*strlen("".$code.""))/2,0, $code,$noir); /* on crée une image de relative mauvaise qualité (ici 23% d'une image normale pour eviter la reconnaissance visuelle de certains robots */ imagejpeg($img,'',50); imageDestroy($img); ?>
×
×
  • Créer...