Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business



|||-  

securiser un formulaire avec un cryptogramme [Résolu]

 

1 utilisateur anonyme
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

securiser un formulaire avec un cryptogramme [Résolu]

Prévenir les modérateurs en cas d'abus 
toms47
toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 04/07/2007 à 20:59:07  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bonjour a tous,
 voila j'ai un formulaire php que j'aimerais securiser avec un cryptogramme

 Savez vous comment puis je proceder?

 j'aimerais garder la structure de mon formulaire

 merci a tous

 j'ai trouve ce script, mais je ne comprends pas trop comment il fonctionne,

 ou mettre la premiere partie du code ...
 merci a tous


 [codebox]
 <?php include "crypt/functions.php"; ?>

 <?php
 // Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
 $email_webmaster = "webmaster_AT_domaine.tld";
 // === traitement des données du formulaire ==============================​==============================
 if (isset($_POST["envoyer"])){
 // le formulaire a été soumis
 $etat = "erreur";
 // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
 // --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
 if (isset($_POST["email_expediteur"])​) {
 $_POST["email_expediteur"]=​trim(stripslashes($_POST["​;email_expediteur"]));
 }
 if (isset($_POST["titre"])) {
 $_POST["titre"]=trim(strips​lashes($_POST["titre"​;]));
 }
 if (isset($_POST["message"])) {
 $_POST["message"]=trim(stri​pslashes($_POST["message&​#034;]));
 }
 // --- test de la validité des champs saisis ---
 if (empty($_POST["email_expediteur"])​) {
 // il manque l'email de l'expéditeur
 $erreur="Saisissez votre adresse email...";
 }
 elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$​_POST["email_expediteur&#​034;])){
 // l'adresse e-mail n'est pas valide
 $erreur="Votre adresse e-mail n'est pas valide...";
 }
 elseif (empty($_POST["message"])) {
 // le message est vide
 $erreur="Saisissez un message...";
 }
 elseif (empty($_POST["code"])) {
 // le code n'est pas saisi
 $erreur="Saisissez le code de verification...";
 }

 else {
 // --- Vérification de la validité du code captcha ---
 if (chk_crypt($_POST['code']))
 // --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
 $etat="ok";
 // --- Le code captcha n'est pas valide ---
 else $erreur="Code de verification non valide ...";
 }
 }

 else {
 // --- le formulaire n'a pas été soumis ---
 $etat="attente";
 }
 // === fin de traitement des données du formulaire ==============================​=========================



 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/D​TD/xhtml1-strict.dtd">
 <html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/​xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Formulaire de contact</title>
 </head>
 <body>
 <h1>Contacter le webmaster</h1>
 <?php
 if ($etat!="ok" ){// le formulaire n'a pas été soumis, ou soumis avec une erreur
 if ($etat=="erreur" ){
 //le formulaire a été soumis avec une erreur
 echo "<p><strong>".$erreur."</stron​g></p>\n";
 // afficher le message d'erreur
 }
 ?>
 <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
 <p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
 <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
 if (!empty($_POST["email_expediteur"])​) {
 // l'adresse email de l'expéditeur a été saisie: la réafficher
 echo htmlspecialchars($_POST["email_expediteur"],​ENT_QUOTES);
 }
 ?>" />
 </p>
 <p><label for="titre">Titre de message (facultatif):</label><br />
 <input type="text" size="40" name="titre" id="titre" value="<?php
 if (!empty($_POST["titre"])) {
 // le titre du message a été saisi: le réafficher
 echo htmlspecialchars($_POST["titre"],ENT_QUOTES)​;
 }
 ?>" />
 </p>
 <p><label for="message">Message (obligatoire):</label><br />
 <textarea name="message" id="message" cols="40" rows="5"><?php
 if (isset($_POST["message"])) {
 // le message a été saisi: le réafficher
 echo htmlspecialchars($_POST["message"],ENT_QUOTE​S);
 }
 ?></textarea>
 </p>
 <?php dsp_crypt(0,1); ?>
 <p><input type="text" name="code" /></p>
 <p><input type="submit" name="envoyer" value="Envoyer" />
 </p>
 </form>
 <?php
 }
 else {
 // le formulaire a été soumis sans erreur, on envoie le mail
 $entete = "From: ".$_POST["email_expediteur"].​" <".$_POST["email_expediteur"].​">\n";
 $entete .= "MIME-Version: 1.0";
 if (@mail($email_webmaster,$_POST["titre"],$_POST[​4;message"],$entete)){
 // mail envoyé
 echo "Votre message a été envoyé.<br />\n";
 echo "<a href=\"".$_SERVER["PHP_SELF"]."\&​#034;>Envoyer un autre message...</a>\n";
 }
 else {
 // erreur lors de l'envoi du mail
 echo "Un problème s'est produit lors de l'envoi du message.\n";
 echo "<a href=\"".$_SERVER["PHP_SELF"]."\&​#034;>Réessayez...</a>​;\n";
 }
 }
 ?>
 </body>
 </html>
 [/codebox]


italoboy
Bébé forumeur (De 10 à 49 messages postés)
  1. Posté le 04/07/2007 à 21:07:29  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonsoir toms47,


 En ce qui concerne ton formulaire avec un cryptogramme, va voir ici :

 => http://www.hawatools.com/

 Rubrique : => Form2mail sur la gauche

 En esperant t'avoir aidé ;) Italoboy

(Publicité)
The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 04/07/2007 à 21:10:46  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Un captcha c'est bien... Mais une méthode plus simple et au moins aussi efficace consiste à poser une simple opération de mathématiques.

 Car pour un captcha, il faut souvent que la librairie GD soit active - ce qui n'est pas le cas sur la plupart des hébergeurs gratuits.

beno5
Assidu (de 10 000 à 19 999 messages postés)
  1. Posté le 05/07/2007 à 08:32:00  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 

you can do it a écrit :

Un captcha c'est bien... Mais une méthode plus simple et au moins aussi efficace consiste à poser une simple opération de mathématiques.

 Car pour un captcha, il faut souvent que la librairie GD soit active - ce qui n'est pas le cas sur la plupart des hébergeurs gratuits.
 



 je doute que poser une opération soit aussi efficace car il me semble que des pirates développent des bots permettant de remplir ce genre de formulaire de sécurité :/  
 même si le risque est minime pour l'instant, ca ne m'étonnerais pas que si ce genre de protection devient très utilisée, on pourrait voir apparaitre des bots pour forum, blogs et autres qui remplirait ces formulaires

 déja ce genre d'opération est assez simple a faire

 on a un array avec les nombre, on récupère les nombre sde la phrase, on teste chaque opération comme les additions, multiplications, soustraction, et on essaie le resultat dans le champ et on recommence tant que ca ne marche pas....

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 13:31:01  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bah tu sais, un captcha ce n'est pas beaucoup mieux.

(Publicité)
toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 13:59:13  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
merci pour vos reponses
 je pense avoir trouve mon bonheur
 a+

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:16:04  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
j'ai reussi a trouver un script ac un captcha
 le probleme c'est que lorsque je souhaite le tester sur mon site, l'image n'apparait pas, est ce que cela vient u fait que je n'ai pas active la librairie GD sur mon hebergeur?
 si oui, comment faire pour activer la librairie GD?

 je vous remercie
 thomas

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:17:49  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Si tu as un serveur dédié, tu peux activer GD dans le php.ini.

 Sinon, tu ne pourras pas l'activer.
 Pour vérifier si elle est activée, crée un fichier avec l'extension *.php, et tu y copies:
 



<?php phpinfo(); ?>



 Il y a une ligne notifiant la librairie GD.

(Publicité)
toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:24:59  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
merci de ta reponse rapide

 donc j'ai la page contact.php puis un dossier crypt pour avoir les images (j'ai tout mis a la racine de mon site)

 le formulaire a l'air de bien fonctionner mis a part le pb pour que s'affiche l'image...

 merci

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:29:57  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
j'ai ca
 GD Support  enabled

 c bon alors vs pensez?
 merci

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:30:03  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Tu devrais d'abord vérifier si GD est bien activé...

(Publicité)
The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:30:34  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 

toms47 a écrit :

j'ai ca
 GD Support  enabled

 c bon alors vs pensez?
 merci
 



 Oui, dans ce cas, le problème vient du script

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:30:37  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
et ca
 GD Version  bundled (2.0.28 compatible)

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:33:21  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bizarre
 j'ai trouve le formulaire sur cette page
 http://www.webmaster-hub.com/l [...] 29494.html

 j'ai fait un copier coller
 je cré donc la page contact.php, je dezippe le dossier crypt a la racin de mon site au meme endroit ou estr la page contact.php

 mais ca marche pas
 bizarre

 merci

(Publicité)
The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:35:11  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Il me parait bien compliqué, en fait il faudrait le code de la page sensée afficher le captcha. C'est possible de l'avoir ?

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:37:45  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
et bien, je ne sais pas si c'est cela que tu souhaites, mais voila ce que j'ai copie dans mon editeur et que j'ai sauvegarde en contact.php

 [codebox]
 <?php include "crypt/functions.php"; ?>

 <?php
 // Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
 $email_webmaster = "webmaster_AT_domaine.tld";
 // === traitement des données du formulaire ==============================​==============================
 if (isset($_POST["envoyer"])){
 // le formulaire a été soumis
 $etat = "erreur";
 // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
 // --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
 if (isset($_POST["email_expediteur"])​) {
 $_POST["email_expediteur"]=​trim(stripslashes($_POST["​;email_expediteur"]));
 }
 if (isset($_POST["titre"])) {
 $_POST["titre"]=trim(strips​lashes($_POST["titre"​;]));
 }
 if (isset($_POST["message"])) {
 $_POST["message"]=trim(stri​pslashes($_POST["message&​#034;]));
 }
 // --- test de la validité des champs saisis ---
 if (empty($_POST["email_expediteur"])​) {
 // il manque l'email de l'expéditeur
 $erreur="Saisissez votre adresse email...";
 }
 elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$​_POST["email_expediteur&#​034;])){
 // l'adresse e-mail n'est pas valide
 $erreur="Votre adresse e-mail n'est pas valide...";
 }
 elseif (empty($_POST["message"])) {
 // le message est vide
 $erreur="Saisissez un message...";
 }
 elseif (empty($_POST["code"])) {
 // le code n'est pas saisi
 $erreur="Saisissez le code de verification...";
 }

 else {
 // --- Vérification de la validité du code captcha ---
 if (chk_crypt($_POST['code']))
 // --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
 $etat="ok";
 // --- Le code captcha n'est pas valide ---
 else $erreur="Code de verification non valide ...";
 }
 }

 else {
 // --- le formulaire n'a pas été soumis ---
 $etat="attente";
 }
 // === fin de traitement des données du formulaire ==============================​=========================
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/D​TD/xhtml1-strict.dtd">
 <html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/​xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Formulaire de contact</title>
 </head>
 <body>
 <h1>Contacter le webmaster</h1>
 <?php
 if ($etat!="ok" ){// le formulaire n'a pas été soumis, ou soumis avec une erreur
 if ($etat=="erreur" ){
 //le formulaire a été soumis avec une erreur
 echo "<p><strong>".$erreur."</stron​g></p>\n";
 // afficher le message d'erreur
 }
 ?>
 <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
 <p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br />
 <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
 if (!empty($_POST["email_expediteur"])​) {
 // l'adresse email de l'expéditeur a été saisie: la réafficher
 echo htmlspecialchars($_POST["email_expediteur"],​ENT_QUOTES);
 }
 ?>" />
 </p>
 <p><label for="titre">Titre de message (facultatif):</label><br />
 <input type="text" size="40" name="titre" id="titre" value="<?php
 if (!empty($_POST["titre"])) {
 // le titre du message a été saisi: le réafficher
 echo htmlspecialchars($_POST["titre"],ENT_QUOTES)​;
 }
 ?>" />
 </p>
 <p><label for="message">Message (obligatoire):</label><br />
 <textarea name="message" id="message" cols="40" rows="5"><?php
 if (isset($_POST["message"])) {
 // le message a été saisi: le réafficher
 echo htmlspecialchars($_POST["message"],ENT_QUOTE​S);
 }
 ?></textarea>
 </p>
 <?php dsp_crypt(0,1); ?>
 <p><input type="text" name="code" /></p>
 <p><input type="submit" name="envoyer" value="Envoyer" />
 </p>
 </form>
 <?php
 }
 else {
 // le formulaire a été soumis sans erreur, on envoie le mail
 $entete = "From: ".$_POST["email_expediteur"].​" <".$_POST["email_expediteur"].​">\n";
 $entete .= "MIME-Version: 1.0";
 if (@mail($email_webmaster,$_POST["titre"],$_POST[​4;message"],$entete)){
 // mail envoyé
 echo "Votre message a été envoyé.<br />\n";
 echo "<a href=\"".$_SERVER["PHP_SELF"]."\&​#034;>Envoyer un autre message...</a>\n";
 }
 else {
 // erreur lors de l'envoi du mail
 echo "Un problème s'est produit lors de l'envoi du message.\n";
 echo "<a href=\"".$_SERVER["PHP_SELF"]."\&​#034;>Réessayez...</a>​;\n";
 }
 }
 ?>
 </body>
 </html>
 [/codebox]


 merci pour ton aide

 si tu veux, en ce moment, j'ai un super formualire, avec envoi de fichier, mais pas du tout securise, a moins que tu connaisse un moyen de le securiser, dans ce cas la, je serais aux anges :)

 merci encore une fois :)

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:46:31  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
A ce que je vois, le fichier contenant la fonction est bien inclus, et la fonction est bien appelée ensuite... Je ne vois pas trop d'où vient le problème (je n'ai pas la fonction sous les yeux)

 Sinon j'avais codé un captcha moi-même, et il était beaucoup plus simple... Je le mets là si ça t'intéresse, sinon eh bien tu peux toujours copier le contenu du fichier functions.php ;)

 Voila alors comment se composait mon captcha (il est assez ancien quand même):
 
  • Ceci dans le fichier qui doit afficher l'image du captcha:



<?php



 $chaine = str_shuffle("a+b-c*d/e+f-g/h.i​*j+k-l*--______-----++++++++++​+++_++++++++++++++//////_/////​//////////////////////////////​/.....................????????​????????????????????????m*n/o-​p+q+r/s5t5u-v+w+x+y-z/A-B*C/D*​E-F-G+H+I.J.K/L*M-N-O*P/Q*R/S-​T*U/V/W*X/Y-Z+0-1*2/3.4+5-6*7/​8.9" );

 $chaine = md5($chaine).';'.$chaine.';'.s​tr_shuffle($chaine);

 echo "<img src='captcha.php?shuffle=".$ch​aine."' alt='Image' />";

 ?>



 

  • Et ceci dans un fichier captcha.php (dans le même répertoire que l'autre):



<?php

 header ("Content-type: image/png" );

 $chaine = $_GET['shuffle'];

 $disp = preg_replace('#(.*)\;(.*)\;(.*​)#', '\\2', $chaine);

 $disp = preg_replace('#[^a-zA-Z0-9]+#', '', $disp);

 $disp = substr($disp, 0, 5);

 $image = imagecreate(100,50);

 $blanc = imagecolorallocate($image, 255, 255, 255);

 $black = imagecolorallocate($image, 0, 0, 0);

 imagestring($image, 4, 24, 20, $disp, $black);

 imagepng($image);

 ?>
 



toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:51:27  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
ok merci
 ms ca me parle pas trop
 donc j'ai mon formulaire qui se decompose en 2 partis
 une page form.html et une page formmail.php (qui appelle la piece jointe)
 ou dois je mettrre tes 2 parties de codes?
 est ce que je conserve le dossier crypt ou il y a des cryptogrammes??

 desole pour toutes ces questions, mais le code et moi ca fait 2 :)

 merci de ton aide

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:54:04  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Alors tu crées un fichier "captcha.php" dans lequel du colles la seconde partie du code (la plus longue):
 



<?php

 header ("Content-type: image/png" );

 $chaine = $_GET['shuffle'];

 $disp = preg_replace('#(.*)\;(.*)\;(.*​)#', '\\2', $chaine);

 $disp = preg_replace('#[^a-zA-Z0-9]+#', '', $disp);

 $disp = substr($disp, 0, 5);

 $image = imagecreate(100,50);

 $blanc = imagecolorallocate($image, 255, 255, 255);

 $black = imagecolorallocate($image, 0, 0, 0);

 imagestring($image, 4, 24, 20, $disp, $black);

 imagepng($image);

 ?>



 Et dans ton form.html (que tu devrais renommer form.php) tu colles ça:
 



<?php



 $chaine = str_shuffle("a+b-c*d/e+f-g/h.i​*j+k-l*--______-----++++++++++​+++_++++++++++++++//////_/////​//////////////////////////////​/.....................????????​????????????????????????m*n/o-​p+q+r/s5t5u-v+w+x+y-z/A-B*C/D*​E-F-G+H+I.J.K/L*M-N-O*P/Q*R/S-​T*U/V/W*X/Y-Z+0-1*2/3.4+5-6*7/​8.9" );

 $chaine = md5($chaine).';'.$chaine.';'.s​tr_shuffle($chaine);

 echo "<img src='captcha.php?shuffle=".$ch​aine."' alt='Image' />";

 ?>



 Il faut bien le renommer form.php, sinon le code contenu entre les balises <?php et ?> ne sera pas interprété...

 Aucun pictogramme ou autre n'est nécessaire.

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 16:55:16  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Tu peux coller le contenu de form.html ?

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 17:01:08  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
tiens voila
 merci

 <form vname="FormName" action="formmail.php" method="post" enctype="multipart/form-data" name="form">

<table border="0" cellpadding="5" cellspacing="0" width="137">

<tr>

<td><strong><font color="#336699">Exp&eacute;dit​eur</font><font color="#6699CC">:</font></stro​ng></td>

<td><input type="text" name="email" size="35">

</td>

</tr>

<tr>

<td><strong><font color="#336699">Sujet</font></​strong></td>

<td><input type="text" name="subject" size="35">

</td>

</tr>

<tr>

<td><strong><font color="#336699">Message</font>​</strong></td>

<td><textarea rows="12" name="msg" cols="60"></textarea>

</td>

</tr>

<tr>

<td><strong><font color="#336699">Fichier joint:</font></strong></td>

<td><input type="hidden" name="MAX_FILE_SIZE" value="1000000">

<input name="NomFichier" type="file" size="16">

</td>

</tr>

<tr>

<td><strong><font color="#336699">Priorit&eacute​;:</font></strong></td>

<td>

<div align="left">

<select name="priority" size="1">

<option value="1">Urgent

<option value="2">Haute

<option value="3">Moyenne

<option value="4">Basse

<option value="5">Tr&egrave;s basse

</select>

<input name="submit" type="submit" value="Envoyer">

</div>

</td>

</tr>

</table>

</form>

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 17:21:53  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Voila, alors je vais te donner le form.php en entier :)

 



<?php $chaine = str_shuffle("a+b-c*d/e+f-g/h.i​*j+k-l*--______-----++++++++++​+++_++++++++++++++//////_/////​//////////////////////////////​/.....................????????​????????????????????????m*n/o-​p+q+r/s5t5u-v+w+x+y-z/A-B*C/D*​E-F-G+H+I.J.K/L*M-N-O*P/Q*R/S-​T*U/V/W*X/Y-Z+0-1*2/3.4+5-6*7/​8.9" );
 $chaine = md5($chaine).';'.$chaine.';'.s​tr_shuffle($chaine); ?>
 <form vname="FormName" action="formmail.php" method="post" enctype="multipart/form-data" name="form">
 <table border="0" cellpadding="5" cellspacing="0" width="137">
 <tr>
 <td><strong><font color="#336699">Exp&eacute;dit​eur</font><font color="#6699CC">:</font></stro​ng></td>
 <td><input type="text" name="email" size="35">
 </td>
 </tr>
 <tr>
 <td><strong><font color="#336699">Sujet</font></​strong></td>
 <td><input type="text" name="subject" size="35">
 </td>
 </tr>
 <tr>
 <td><strong><font color="#336699">Message</font>​</strong></td>
 <td><textarea rows="12" name="msg" cols="60"></textarea>
 </td>
 </tr>
 <tr><td><b><font color="#336699">Code</font></b​></td>
 <td><img src='captcha.php?shuffle=<?php echo $chaine ?>' alt='Image' /><br /><input type='text' name='code' /></td>
 <tr>
 <td><strong><font color="#336699">Fichier joint:</font></strong></td>
 <td><input type="hidden" name="MAX_FILE_SIZE" value="1000000">
 <input name="NomFichier" type="file" size="16">
 </td>
 </tr>
 <tr>
 <td><strong><font color="#336699">Priorit&eacute​;:</font></strong></td>
 <td>
 <div align="left">
 <select name="priority" size="1">
 <option value="1">Urgent
 <option value="2">Haute
 <option value="3">Moyenne
 <option value="4">Basse
 <option value="5">Tr&egrave;s basse
 </select>
 <input type='hidden' name='sh' value='<?php echo $chaine ?>' />
 <input name="submit" type="submit" value="Envoyer">
 </div>
 </td>
 </tr>
 </table>
 </form>




 Ensuite, tu modifies formmail.php de cette façon :
 



 
 <?php
 function parsesh($sh)
 {
 $sh = preg_replace('#(.*)\;(.*)\;(.*​)#', '\\2', $sh);
 $sh = preg_replace('#[^a-zA-Z0-9]+#', '', $sh);
 $sh = substr($sh, 0, 5);
 return $sh;
 }

 if(isset($_POST['sh']) AND isset($_POST['code']) AND $_POST['code'] == parsesh($_POST['sh']))
 {
 // [Ici, le code de formmail.php]
 }
 else
 {
 echo "Le code entr&eacute; est invalide.
 ";
 exit;
 }
 ?>
 




 Voila, ça devrait marcher comme ça.

toms47
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 17:35:55  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
trop sympa

 merci c tout bon
 je t'envoie par mp l'adresse du site pour que tu voies ton resultat
 merci merci :)

The MuLaToR is BACK
you-can-do-it
Sur la bonne voie (de 100 à 499 messages postés)
  1. Posté le 05/07/2007 à 17:36:22  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Okay :D

 Page :
1

Aller à :
 

Sujets relatifs
[Resolu] Sécuriser apache formulaire php en gras
sécuriser correctement des pages grace a php Sécuriser une page WEB par mot de passe
probleme mon pc ne lit pas ma carte sd (résolu) Comment désactiver la demande de cryptogramme d'authentifica
Qui connais un loigiciel gratuit pour sécuriser un clé USB ?  
Plus de sujets relatifs à : securiser un formulaire avec un cryptogramme [Résolu]