Pages: 1
|

Membre
|
Bonjour.
Je voudrais créer un captcha pour mon formulaire de contact. Il y a déjà des scripts sur le web, mais ils sont assez compliqués, et les images obtenues sont généralement difficiles à lire.
Donc je veux en faire un moi même, mais je ne sais pas si mon idée serait performante :
-Créer une variable $code contenant un nombre au hasard compris entre 0000 et 9999 avec la fonction rand : srand();$code = rand(0000, 9999); Mais 0000 ne doit pas devenir 0.
-Créer une image noire d'environ 40x20px.
-Ecrire sur l'image les nombres de la variable $code.
-Comparer ce que l'utilisateur a entré et la variable code, pour accepter ou refuser l'envoi de l'email.
Ça marchera ou les robots pourront envoyer des spams ?
Merci.
|

Membre
|
Je vais essayer de te faire l'image avec le code écrit dessus, mais pour comparer à l'envoi de l'email, je sais pas faire.
Je m'y met et je te dis comment faire au plus vite
|

Membre
|
Voilà, j'ai le début.
D'abord télécharge le fichier RAR, dézippe le, et envoi le dossier, qui n'est pas de moi, sur ton serveur : http://pifyz.site90.net/Code.rar
Ensuite voilà le code permettant d'afficher l'image
<?php
srand();$code = rand(0000, 9999);
echo "<img src='http://TONSITE.com/NOMDOSSIER/banniere.php?size=14&text=".$code."&banner=trans.png&x=3&y=16&font=arial.ttf&RGBr=0&RGBg=0&RGBb=0&angle=0' alt='".$code."' />";
?>
Tu modifie ce qui est en gras, et tu regarde si ça marche
Désolé, mais pour le reste, je sais pas faire...
PS : Je te conseil de faire entre 1000 et 9999 pour qu'il y ai tout le temps 4 chiffres. Et c'est pas 40x20, j'espère que ça te dérange pas...
Tu obtiendras un truc comme ça, mais avec un chiffre aléatoire : 
Tu peux aussi t'aider d'un toturiel : Lien
|

Membre
|
Merci. En fait, c'est pas la création qui me gênait, c'était la complexité de ceux que l'on trouve sur le net. Si on fait des images si complexes, est-ce que les robots parviendront à recopier les caractères d'un code simple ?
Merci. Je devrais parvenir à l'adapter facilement.
Au revoir.
|

Membre
|
Je pense pas que les robots puissent trouver le code, c'est conçu pour ça
|

Membre
|
Alors pourquoi on s'amuse à créer des codes illisibles qu'il faut retaper trois fois avant de trouver le bon (en particulier pour GMail) ?
Mais pour mon code, je suis bloqué :
-La vérification du code ne fonctionne pas, car quand on veux envoyer le message, le code change, etcelui tapé n'est plus à jour (exemple : le code est 1234, vous tapez 1234, et quand vous envoyez le message, le code dit que 1234!=1345). Comment empêcher cette actualisation ?
-Pour que le code s'affiche dans l'image, je doit placer la variable dans la page qui génére l'image. Comment transférer la variable dans la page de génération depuis la page de contact ?
Formulaire de contact :
<?
$title="Contacter l'administrateur de Assoss-Annuaire.";$keywords='contact, contacter, administrateur';$CSS=1;$html=1;
$style='
body{background-image:url("/images/background.gif");}
input,textarea{background-image:url("/images/background.gif");background-position:top;border-radius:9px;}
textarea:hover,input:hover{background-image: url("/images/background-hover.png");}';
if(isset($_POST['submit'])){
$erreur="";
// Nettoyage des entrées
while(list($var,$val)=each($_POST))
{if(!is_array($val)){$$var=strip_tags($val);}
else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}}
// Formatage des entrées
$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]","",$f_1)));
$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]","",$f_2)));
$f_3=strip_tags(trim($f_3));
$f_4=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]","",$f_4)));
$f_5=strip_tags(trim($f_5));
$f_6=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]","",$f_6)));
$f_8=eregi_replace(" ","",$f_8);
// Verification des champs
if(strlen($f_1)<2){$erreur.="<li>Le champ « Nom » est vide ou incomplet.";}
if(strlen($f_3)<2){$erreur.="<li>Le champ « Adresse e-mail » est vide ou incomplet.";}
else{if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',$f_3))
{$erreur.="<li>La syntaxe de votre adresse e-mail n'est pas correcte.";}}
if(strlen($f_6)<5){$erreur.="<li>Le champ « Sujet » est vide ou incomplet.";}
if(strlen($f_7)<15){$erreur.="<li>Le champ « Message » est vide ou incomplet.";}
if($f_8!=$code){$erreur.="<li> $f_8 != $code";}
// Creation du message
if($erreur==""){
$titre="$f_6";
$tete="From : $f_3\n";
$corps="Nom : $f_1\n";
if($f_2!=""){$corps.="Prénom : $f_2\n";}
if($f_4!=""){$corps.="Association : $f_4\n";}
if($f_5!=""&&$f_5!="http://"){$corps.="URL : $f_5\n";}
$corps.="\nMessage : $f_7\n";
if(mail("aurelien.riv@gmail.com",$titre,stripslashes($corps),$tete)){$ok_mail="true";}
else{$erreur.="<li>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.";}}}
include('../header.php');
if($ok_mail=="true"){ ?>
<div style="background:#b3ffff url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=0') no-repeat top left;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=3') no-repeat top right;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=1') no-repeat bottom left;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=2') no-repeat bottom right;padding-bottom:20px;padding-top:20px;padding-left:15px;">
Le message ci-dessous nous a bien été transmis, et nous vous en remercions.<img src="/images/pneumatix.gif" alt="">
<div style="background:#33CCFF url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=b3ffff&interieur=33CCFF&rotation=0') no-repeat top left;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=b3ffff&interieur=33CCFF&rotation=3') no-repeat top right;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=b3ffff&interieur=33CCFF&rotation=1') no-repeat bottom left;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=b3ffff&interieur=33CCFF&rotation=2') no-repeat bottom right;padding-bottom:20px;padding-top:20px;padding-left:15px;">
<? echo "Sujet : $titre <br> $tete <br>";echo nl2br(stripslashes($corps));?></div></div></div></div>
Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</div></div></div></div>
<? }else{ ?>
<div style="background:#b3ffff url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=0') no-repeat top left;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=3') no-repeat top right;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=1') no-repeat bottom left;">
<div style="background:url('http://images.supportduweb.com/rounded_corn.php?rayon=20&fond=f1f1f1&interieur=b3ffff&rotation=2') no-repeat bottom right;padding-bottom:20px;padding-top:20px;padding-left:15px;">
<form action='<? echo $PHP_SELF ?>' method="post" name="Form"><table border='0'>
<? if($erreur){ ?>
<tr><td colspan='2' bgcolor='red'><font color='white'><b>ERREUR, votre message n'a pas été transmis</b></font></td></tr>
<tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr>
<?}?>
<tr><td align='right'><b>Nom :</b></td><td><input type='text' name='f_1' value='<?echo stripslashes($f_1);?>' size='28'></td></tr>
<tr><td align='right'>Prénom :</td><td><input type='text' name='f_2' value='<?echo stripslashes($f_2);?>' size='28'></td></tr>
<tr><td align='right'><b>Adresse e-mail :</b></td><td><input type='text' name='f_3' value='<?echo stripslashes($f_3);?>' size='28'></td></tr>
<tr><td align='right'>Association :</td><td><input type='text' name='f_4' value='<?echo stripslashes($f_4);?>' size='28'></td></tr>
<tr><td align='right'>URL du site de l'association :</td><td><input type='text' name='f_5' value='<?if($submit){echo stripslashes($f_5);}else{print("http://");}?>' size='28'></td></tr>
<tr><td align='right'><b>Sujet :</b></td><td><input type='text' name='f_6' value='<?echo stripslashes($f_6);?>' size='28'></td></tr>
<tr><td align='right'><b>Message :</b></td><td><textarea name='f_7' rows='10' cols='70'><?echo $f_7?></textarea></td></tr>
<tr><td align='right'><b>Code anti-robots : </b><img src="/toplist/captcha.php" width='50'><?echo"$code";?></td><td><input type='text' name='f_8'></td></tr>
<tr><td align='right'></td><td><input type='submit' name='submit' value='Envoyer' ></td></tr>
<tr><td colspan='2' align="center"><br><font size="2">Les champs en gras sont obligatoires</font></td></tr>
</table></form></div></div></div></div>
<? }; include('../footer.php'); ?>
Captcha :
<?php
$code=(string)rand(1000,9999); // Selection d'un nombre entre 1000 et 9999
$captcha=ImageCreate(38,15); // Creation d'une image de 40x15px
$black=ImageColorAllocate($captcha,0,0,0);
$white=ImageColorAllocate($captcha,255,255,255);
ImageFill($captcha,0,0,$black); // Remplissage du fond
ImageString($captcha,5,2,0,$code,$white); // Ajout du code du captcha
Header("Content-type:image/png");
ImagePng($captcha);
ImageDestroy($captcha);
?>
Merci pour votre aide.
PS : Je n'ai pas utilisé les codes "de" PifiZ. J'ai préféré coder moi même.
|

Admin
|
Bonjour,
On ne peut pas faire comme tu l'a dis Spitfire 95, de mettre le code dans le formulaire pour le récupérer et comparer, car le robot vas le récupérer lui même dans le formulaire.
Pour faire un captcha, il faut utiliser les sessions, donc au tout début, le code est déclaré dans la session, l'image est affiché, et ensuite, lorsque l'utilisateur valide, on compare le code dans la session et celui envoyé.
@Spitfire 95: souvent les captchas sont difficiles à lire car les robots sont muni d'un système "OCR" qui permet de récupérer un texte dans une image. donc si ton image n'est pas complexe(en utilisant imagestring), le robot vas réussir à la déchiffrer à tout les coups.
donc voici le code avec les sessions:
image:
<?php
session_start();
$code = rand(1000,9999); // Selection d'un nombre entre 1000 et 9999
$_SESSION['code_captcha'] = $code;
$captcha = imagecreate(38,15); // Creation d'une image de 40x15px
$black = imagecolorallocate($captcha,0,0,0);
$white = imagecolorallocate($captcha,255,255,255);
imagefill($captcha,0,0,$black); // Remplissage du fond
imagestring($captcha,5,2,0,$code,$white); // Ajout du code du captcha
header("Content-type:image/png");
imagepng($captcha);
imagedestroy($captcha);
?>
Comparaison lors de la validation:
<?php
if($_SESSION['code_captcha']==$_POST['code'])
{
}
?>
Cordialement
|

Membre
|
Merci.
Puisque ce code n'arrêtera pas les spams, j'abandonne l'idée du captcha. De toute façon, je ne reçois pas encore de spam.
Merci quand même.
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Bonjour, ou bien cherche des scripts de formulaire de contact, tu trouvera surement avec un "Code Anti-Bot".
Essaye de regarder à cette adresse : http://www.web-modules.net/presentation-form2mail.html
J'en ai mis un sur mon formulaire de contact (mais page secrète, car mon site n'est pas encore réouvert, mais on peut y acceder )
|

Membre
|
Je sais, j'ai justement voulu voir leur code, mais on ne peux pas leur prendre, ils ne nous donnent pas le code PHP. C'est justement sur ta page de contact que j'ai vu le lien vers http://www.web-modules.net. Même si tu as bloqué ta page d'accueil et fait des redirections, ta page de contact marche toujours, et comme tout le monde, tu as appelé ta page de contact "contact", donc il m'a suffit d'ajouter /contact après ton url pour voir le nouveau design.
La curiosité est un vilain défaut. :grandsourire:
Mais tes pages top-secrètes, il m'auras quand même fallu 3 secondes avant d'y accéder... en contant le temps d'écrire l'url !
Cordialement.
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Lol oui je sais j'ai pas pu faire autrement mais chut !!!
Tu l'as trouve comment la "new version" ?
J'ai mis sur l'accueil que le site sera réouvert avant le 19 Avril, mais je pense qu'il sera réouvert largement avant car j'ai presque fini
|

Membre
|
Elle est sympa, mais t'es un tricheur, c'est même pas toi qui as codé ! ^^
Mais 20 erreurs et 18 avertissements pour le CSS, et 17 erreurs et 1 avertissement pour le XHTML, pour une stylesheet et des codes trouvés sur le net, c'est pas mal !
Si tu veux de l'aide, tu me le dis, je commencerais dès la semaine prochaine.
Et tu peux me rappeler l'adresse de ta bannière, stp ?
Cordialement.
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
- Je sais car je n'ai aucune connaissance sur le Css, le PHP et le Javascript, pourtant je regarde des tutoriels...
Donc j'opte pour les scripts !
- Tu veux m'aider sur quoi ?
- Pour l'adresse de la bannière : http://vocos.hebfree.org/img/banniere1.gif (Comme tu la voit en-dessous)
|

Membre
|
- Tu veux m'aider sur quoi ?
Si tu veux que je code quelque chose, modifier le CSS, réduire et simplifier les PHP...
Je débute en PHP, mais je commence à me débrouiller.
Je peux aussi créer un formulaire de contact sans captcha je pense que tu l'avais compris ^^)
Mais comme je te l'ai dit, je ne pourrais pas commencer cette semaine, je pars demain.
|

Membre
|
Moi aussi je peux aider, j'ai des connaissances en PHP, SQL, HTML et CSS
Elles sont pas super mes connaissances mais j'ai quand même réussi à créer un site visitable depuis ma signature.
Donc si tu as besoin d'un peu d'aide, je peux t'aider.
Je participe au forum pour aider les gens, même si pour le moment j'ai pas aider ^^
|

Membre
|
"Je participe au forum pour aider les gens, même si pour le moment j'ai pas aider ^^"
Le plus important, c'est de participer !:0
"Le site est maintenant terminé, il ne reste plus qu'un petit détail : faire un système de page pour afficher les connaissances apprises, que je n'ai pour le moment, pas réussi à faire."
Qu'entends tu par un "système de pages" ? Je peux peut-être t'aider ?
J'ai des connaissances en HTML, CSS, PHP (un peu depuis 3 ou 4 jours), js (très peu, les 2-1er chapitres du manuel), python (plutôt utilisé pour les logiciels, mais peut aussi être utilisé pour le web dans des fichiers pih (Python inside HTML) ou hip (HTML inside Python)), et j'ai lu le chapitre 1 de C.
Mais il sert à quoi ton site ? C'est quoi un PifiZ ? On parle de quoi sur le forum ? Qu'est-ce que la PIFI Corporation ? Bref, elle est où la FAQ ?
Pourquoi faut-il choisir dans une liste de couleurs ? Pourquoi n'y a t-il pas un selecteur de couleur ?
"Je participe au forum pour aider les gens, même si pour le moment j'ai pas aider ^^"
J'ai une bonne nouvelle pour toi, tu vas pouvoir éclairer quelqu'un !
@+
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Pour l'instant j'ai besoin de rien, mais je vous le dirai quand j'aurai besoin d'un service...
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Ah si le système de commentaire Php que malheureusement n'a pas été fourni et que je trouve superbe quand j'ai téléchargé ce kit : http://www.grafikart.fr/demo/wooden/index.html
|

Membre
|
Qu'entends tu par un "système de pages" ? Je peux peut-être t'aider ?
Par système de page, je veux dire afficher les connaissances d'un membre à 15 par pages, pour pas en avoir 200 en une page.
Mais il sert à quoi ton site ? C'est quoi un PifyZ ?
PifyZ est un site permettant de créer des "intelligence artificielle" en lui apprenant des questions/réponses. J'ai eu l'idée de créer ça quand j'ai su que Skaaz, un site qui faisait pareil, aller fermer.
On parle de quoi sur le forum ?
Sue le forum, on parle de tout.
Qu'est-ce que la PIFY Corporation ?
La PIFY Corporation... c'est une longue histoire, je peux te dire qu'elle existe plus vraiment en ce moment et que le nom existe depuis 4 ans.
Bref, elle est où la FAQ ?
La FAQ est là : http://pifyz.site90.net/index.php?page=rya, vu que le forum vient d'un script... j'ai pas su le coder..., et donc c'est la FAQ du forum, et j'ai pas encore créer la FAQ parlant des PifyZ.
Pourquoi faut-il choisir dans une liste de couleurs ? Pourquoi n'y a t-il pas un selecteur de couleur ?
Tout simplement parce que les PifyZ sont des images, misent dans du flash, alors, à moins que je créer toute les couleurs possibles, oui je peux, mais y a trop de couleurs, alors je fais couleur par couleur
Je m'attendais pas à pleins de questions
Mais si ça t'as aider, tant mieux.
Bien sûr le site, tu peux trouver qu'il sert à rien, qu'il est nul, ou super utile, tu penses ce que tu veux
|

Membre
|
"Ah si le système de commentaire Php que malheureusement n'a pas été fourni et que je trouve superbe quand j'ai téléchargé ce kit : http://www.grafikart.fr/demo/wooden/index.html"
Vas voir sur http://www.grafikart.fr/tutoriels/systeme-commentaire-php-45
Je n'ai pas regardé le tuto (je n'ai pas de son sur mon PC, donc ça ne m'aurais rien donné), mais d'après les commentaires qui ont étés postés, et d'après leur propre système de commentaires, ça doit marcher. Et puis, ça te fera travailler : tu vas coder, et non pas faire du copier coller.
Sinon, si tu veux utiliser un système prêt à l'emploi et déjà hébergé, il y a le système de news foruni par SupportDuWeb, qui doit faire à peu près la même chose :
http://www.supportduweb.com/service-news-gratuit-actualite-nouvelles-informer-visiteurs-service-news-script-gratuit.html
Mais celui-la non plus je ne l'ai pas testé.
Cordialement.
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Bah je suis pas trop Php moi...
J'vais laisser le mien de systeme de commentaires pour l'instant..
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Bon je vais dire une chose pour Spitfire :
J'ai enfin mis du Php dans mon site !
(Un formulaire de contact que j'ai téléchargé sur Grafikart car je suis membre premium).
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
J'aimerai créer un système de commentaire en Php mais sans base de données car beaucoup de pages sur mon site, mais malheureusement je n'ai AUCUNE connaissance en Php...
Quelqu'un pourrait-il m'aider ?
Merci. (J'attends avec impatience la réponse du grand Manitou du Web )
|

Admin
|
Bonjour,
La seule solution pour toi serai d'utiliser des services pour webmasters sur internet, car pour en faire un bon mais sans MYSQL, ça vas être difficile.
http://www.i-services.net/membres/combox/
Cordialement
|
"Fc Barcelona, Més que Un Club"
![Ad00500]()
Membre
|
Bonjour, justement j'utilise ce système de commentaire là avec I-services. Merci quand même.
|

Membre
|
test
|

Membre
|
Tu peux mettre ce code:
<?php
$un = rand(1111, 9999) ;
$deux = rand(1111, 9999) ;
$trois = rand(1111, 9999) ;
$quatre = rand(50, 100) ;
$cinq = rand(50, 100) ;
$six = rand(50, 100) ;
$code=(string)rand(1000,9999); // Selection d'un nombre entre 1000 et 9999
$captcha=ImageCreate(38,15); // Creation d'une image de 40x15px
$black=ImageColorAllocate($captcha,$un,$deux,$trois);
$white=ImageColorAllocate($captcha,$quatre,$cinq,$six);
ImageFill($captcha,0,0,$black); // Remplissage du fond
ImageString($captcha,5,2,0,$code,$white); // Ajout du code du captcha
Header("Content-type:image/png");
ImagePng($captcha);
ImageDestroy($captcha);
?>
et après pour mettre ton captcha,
tu met:
<? include (monimage) ?>
et tu as le résultat dans la variable $code.
Pour la garder dans ton fichier cible tu peut mettre
<? echo $code; ?>
dans la valeur d'un champ caché...
|
Pages: 1
|