cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
7 août 2006 à 12:41
yayou07
Messages postés1Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 mai 2010
-
14 mai 2010 à 03:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
yayou07
Messages postés1Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 mai 2010 14 mai 2010 à 03:04
bonjour pouvais vous me decrir cela etape par etape puisque j'ai fait comme vous marquez mais y m affiche juste anti flood ppas d image il ne la traite pa ou je c pa vrmt prtant j ai le fichier anti_spam.php la police sous la mm racine é kan j met image source ça donne rien j ai ma oublier de mettre session start () en haut du script é du formulaire
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 24 mai 2009 à 15:37
Salut!
C'est une idée! Moi j'avais rajouté plusieurs contraintes temporelles en me disant qu'un humain pouvait difficilement taper un message en moins de 2 secondes, ... Je pense que tu peux aussi détecter le nombre de liens dans le message, etc...
Raf
mailliam
Messages postés261Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention10 mars 20143 24 mai 2009 à 14:58
Coucou les loulous!!
moi j'ai mis ce superbe code sur mon site car j'étais harcelé par ces pu*** de robots de spam!
il fonctionne très bien, si ce n'est qu'un des robot qui propose du viagra arrive tjs à me mettre jusqu'a 11 pub par jour sur mon forum!!! Comment il fait?! logiciel OCR? ils sont ballaises quand même!!
Mais j'ai trouvé une parade qui a l'air de bien marcher! je laisse évidement ce captcha anti spam, mais pour le lien qui renvoie à mon forum, je met comme ca:
[javascript:document.form1.submit() forum]
</form>
de cette facon j'envoie la variable "antispam" à ma page forum.php
et dans la page je contrôle que dans la variable il y aie "000" de cette facon:
<?php
if ($antispam == "000")
{
//ok (ca veut dire que la page est chargée en passant par le lien..)
}
else
{
print "Une Erreur s'est produite!";
exit;
}
?>
donc comme le robot charge directement les pages qui ont des forums, donc ici direct forum.php sans passer par le lien, la variable antispam est vide et le formulaire ne s'affiche pas :)
JohnVass
Messages postés1Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention 5 mars 2012 19 mai 2009 à 10:04
Salut !
J'ai essayé d'intégrer ce système dans un site en cours dé développement dans un serveur off-line, mais l'image ne s'affiche pas. Je n'ai droit qu'à l'affichage du "alt". Pourtant, j'ai mis le fichier anti_spam.php ( en enlevant les lignes de la version 1 car je souhaite intégrer la version 2 ) à la racine du site, avec mon formulaire. Malgré tout, je n'ai aucune image qui s'affiche ! As-tu une explication à cela ? Vu que je débute en php, il est possible que j'aie oublié un détail !
Merci !
speyrard
Messages postés19Date d'inscriptiondimanche 30 décembre 2007StatutMembreDernière intervention 3 mars 2012 13 avril 2009 à 14:38
Rien à redire
Code bien documenté, facile à adapter
Nickel
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 11 avril 2009 à 13:40
Salut!
Le captcha que j'ai vu sur ton site n'est pas le mien...
Raf
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 10 avril 2009 à 22:34
J'ai un bug très bizare avec firefox sur ce site
http://www.cestmonsouhait.com Impossible de valider le captcha !! et avec IE ça marche ...
c'est comme si une nouvelle session était créée à chaque appel de la fonction ...
JHT
Messages postés2Date d'inscriptionjeudi 27 octobre 2005StatutMembreDernière intervention17 novembre 2008 17 nov. 2008 à 00:20
Bonjour Super ce source, mais j'ai un petit problème :
je fais une verif en javascript de $_SESSION('livreord'] et j'ai un coup de retard l'image est en dephasage Ancien IMAGE = ZERT Nouvelle FGFG et dans le script il me done pour $_SESSION ZERT
function validation()
{
var aspam = '<? echo $_SESSION['livreor']; ?>'
var email = document.Demande.email.value;
var nom = document.Demande.from.value;
var vspam = document.Demande.spam.value;
var ville = document.Demande.ville.value;
var prenom = document.Demande.prenom.value;
var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
Merci de bien vouloir tapez les caractères de l'image dans la zone |
|
|
|
----
|
</td>
</tr>
</table>
</form>
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 10 nov. 2008 à 00:16
de mon coté je le trouve marche bien, vraiment pas mal du tous!
Merci.
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 9 nov. 2008 à 01:12
Bonjour tout le monde,
Cela fait un moment que je n'ai pas retesté le script :) Est il toujours efficace contre le spam bots ?
merci
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 18:23
Pas de soucis! :)
Bonne soirée!
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 18:21
ça bien marché, merci bcp coockiesch. bonne journée.
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 18:04
Es-tu sûr que le <?php du fichier anti_spam.php est bien à la toute première ligne du fichier et sans espace avant?
Qu'y a t il à la première ligne de ton fichier?
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 17:59
quand j'ai enlever le ; dans le début de php_gd2.dll et j'ai redémarrer le easyphp il apparaitra un nouveau problème (erreur) au niveau de ligne header("Content-type: image/png");
le message d'errer etait :
Warning: Cannot modify header information - headers already sent by (output started at d:\easyphp1-8\www\fr\membre\anti_spam.php:1) in d:\easyphp1-8\www\fr\membre\anti_spam.php on line 92
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 17:54
Désolé, pas compris ton dernier message...
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 17:53
mais le problème reste malgré que je recu comme un code ascII de l'image avec un accée directe!!
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 17:50
c'est ce que j'ai fait et le prob cette fois c'est dans l'instruction header("Content-type: image/png"); alors j'ai allé une autre fois a php_gd2.dll et j'ai fais la même chose avec extension=php_filepro.dll , je crois qu'il a un problème avec la gestion de type d'image! 0,0
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 17:40
Il faut enlever le ; et redémarrer easy php :=)
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 17:33
et avidement il y a ; au début de php_gd2.dll j'enlève le ; ? ou ça veux dire que j'ai pas le php_gd2.dll ??
Et merci pour votre sacré temps ! ^^"
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 17:25
Oui, peut être. Vérifie dans phpinfo que GD est bien activé et dans le fichier
d:\easyphp1-8\apache\php.ini
que extension=php_gd2.dll est bien sans ; au début
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 17:18
j'ai fais ton premier teste (accédée directement au scripte qui génère l'image) et j'ai reçu ce message d'erreur : Fatal error: Call to undefined function: imagecreatetruecolor() in fr\membre\anti_spam.php on line 16, si comme la bibliotheque de l'instruction imagecreatetruecolor() n'existe pas ou je sais pas! ça se peut être le GD ?!?
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 17:03
Non, désolé, j'ai pas le temps...
Je te propose:
1) d'accéder directement à l'image pour voir si elle fonctionne:
anti_spam.php?name=livreor&strlen=4
2) Change le alt="" de la balise img et rafraichis ta page... Si le texte change, ca renforce, mon idée que le chemin n'est pas le bon
Je te laisse me tenir au courant, :)
Raf
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 16:59
slt, bon j'ai vérifier le chemin, il est bon , tous les fichiers sont dans le même répertoire et mes liens utiliser sont directe, tu veux que je t'envoies le CS ?
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 nov. 2008 à 16:38
Salut!
A mon avis, le chemin mis dans la balise vers le script n'est pas le bon...
Raf
Benz8
Messages postés12Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention10 novembre 2008 8 nov. 2008 à 16:12
slt, j'ai met le font dans le même répertoire de anti_spam.php et le formulaire.php j'ai bien utiliser les session mais le problème c'est que je recois ce message a la place de l'image : anti-flood , j'ai rien compris! sachant que j'utilise le easyphp Version 4.3.10 est j'ai pas trouver l'endroit ou je peux vérifié le GD, en tous cas voila l'info de easyphp :
System Windows NT BENZ8PC 6.0 build 6001
Build Date Dec 14 2004 17:46:48
Server API Apache
Virtual Directory Support enabled
Configuration File (php.ini) Path d:\easyphp1-8\apache\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib
saalah
Messages postés1Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention10 septembre 2008 10 sept. 2008 à 15:00
bonjour,
j'aurai besoin d'un peu d'aide, parce que pour l'instant j'arrrive pas faire fonctionner ce script...
si j'ai bien compris la je dois completer le code (si le code n'est pas bon> message d'erreur, si le code est correct> enregistrement du message??)
et j'ai aussi un probleme au niveau des sessions. j'ai pas encore decouvert ca, et j'aimerais deja savoir si pour ce script je dois creer un dossier session ou j'ai lu un "repertoire"??
merci d'avance pour votre aide.
cs_djimson
Messages postés53Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention23 mai 2017 24 juil. 2008 à 14:06
ok je vais le faire. merci de votre temp
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 24 juil. 2008 à 14:00
Quand je t'ai proposé de mettre le code de verif sur la page de traitement des données, c'était pas une blague...
Donc ca va après:
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des
cs_djimson
Messages postés53Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention23 mai 2017 24 juil. 2008 à 13:55
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees mysql_fetch_array($retour);$totalDesMessages $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo ' Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '[livreor.php?page=' . $i . ' ' . $i . '] ';
}
?>
<hr color="#0000FF"/>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo ' ' . $donnees['pseudo'] . ' a écrit :
' . $donnees['message'] . '
';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 24 juil. 2008 à 13:50
Dsl, non, pas le temps aujourd'hui...
Dans la page d'affichage du formulaire et dans celle de verif, tu oublies pas le session_start( ) tout en haut.
Ensuite, pour vérifier, c'est ce code:
if( $_SESSION['livreor'] != strtoupper( $spam ) )
// erreur ici
Dans erreur ici, faut mettre qqch pour que les données ne s'envoient pas car le code est faux, :)
Raf
cs_djimson
Messages postés53Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention23 mai 2017 24 juil. 2008 à 13:47
J'ai suivi votre exemple a la lettre mais j'arrive pas? Je vous envoie ma source??
cs_djimson
Messages postés53Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention23 mai 2017 24 juil. 2008 à 13:43
J'ai oublié le salut ds mon message precedent
NB : L'image s'affiche correctement mais en mettant n'importe quoi, ca passe dc ya pas de verification. Je suis debutant en programmation, je precise. Merci
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 24 juil. 2008 à 13:42
Salut!
Il faut faire la vérification dans la page où tu traites les données de ton formulaire... :)
Y'a un exemple juste en dessous de ma source, :)
Raf
cs_djimson
Messages postés53Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention23 mai 2017 24 juil. 2008 à 13:40
Justement j'ai sais pas si je dois creé un scrip veri.php ou si la verification se fait directement dans mon formulaire.
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 23 juil. 2008 à 13:51
Salut!
Qu'as-tu deja mis comme code dans ta page verif?
Raf
cs_djimson
Messages postés53Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention23 mai 2017 23 juil. 2008 à 13:44
Salut, je trouve le scrip tres genial mais j'arrive pas a l'utiliser. Surtout la page de verif. Qui pe bien m'aider???
Merci
cs_yakusa77
Messages postés3Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention 1 août 2007 10 mai 2008 à 11:46
Salut
Merci pour ce script tres simple à mettre en place
il me convient parfaitement
bye
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 22 janv. 2008 à 21:41
Salut!
Suite au commentaire dexdc Masterjuh, information ajoutée, merci! :-)
J'écris ici car la seule galère que j'ai eu, ne connaissant pas le php, c'est de pas avoir mis "session_start();" en haut de ma page qui teste les entrée du formulaire. Sans cela évidemment le code entré par le visiteur n'est comparé avec rien, et le résultat est que le formulaire est toujours bloqué.
Voilà, content d'avoir trouvé, je souhaite évité à d'éventuels néophytes en mon genre une paire d'heure de stress.
encore merci pour ce script
cs_ChristBike7
Messages postés7Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention25 septembre 2007 20 sept. 2007 à 22:31
J'ai réussi à afficher l'image sur ma page de formulaire! :-)
Mais il me l'affiche en petit car aucun caractère ne s'affiche!! :-(
D'ou peut venir l'erreur?
Chris
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 20 sept. 2007 à 18:33
Le script est-il en ligne?
Puis-je avoir l'adresse de la page? :-) (par PM, si jms)
@++
R@f
cs_ChristBike7
Messages postés7Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention25 septembre 2007 20 sept. 2007 à 18:21
A la place de l'image, il me met anti-flood. Il m'affiche donc la description de l'image.
J'arrive vraiment pas a comprendre pourquoi il m'affiche pas l'image :-(
cs_ChristBike7
Messages postés7Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention25 septembre 2007 20 sept. 2007 à 18:11
Oui GD est activé.
anti_spam.php est à la racine de mon site donc j'ai mis également ma police à ce niveau.
Il faudrait que je mette tout ca dans un dossier?
Merci!
Chris
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 20 sept. 2007 à 18:03
Hello!
Est-tu sûr que gd est activé? Et que la police est dans le répertoire du script? :)
@++
R@f
cs_ChristBike7
Messages postés7Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention25 septembre 2007 20 sept. 2007 à 18:01
J'ai un problème d'affichage d'image. En effet j'ai mi mon code dans anti_spam.php
Sur ma page ou se trouve mon formulaire j'ai mi : <?php session_start(); ?> tout en haut de ma page.
Et plus bas dans mon formulaire j'ai mis ceci :
Comment ca se fait que l'image ne s'affiche pas?
J'ai esayphp et la version 5.2.0 de php.
Un grand merci pour votre aide :-)
Chris
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 8 août 2007 à 19:32
MMh, on pourrait imaginer une telle solution!
Je regderai quand j'aurai l'occas!
Merci pour l'idée!
@++
R@f
McPeter
Messages postés134Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 avril 2013 7 août 2007 à 23:59
Proposition :
en se basant sur ton code ... mettre une addtion par exemple :)
à la place d'une sortie style : RX31
mettre : ( 145 + 45 ) - 10 :=)
il faudra bien entendu saisir le résultat de l'opération ^^
inclure dans ton code le niveau de l'opération : 2 chiffres à 2-3 nombres ou plus ... ;)
@++
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 6 août 2007 à 12:55
Salut!
La mise à jour a été faite, elle correspond à la seconde version du code (image du bas sur la capture)...
Mais si je trouve d'autrs idées, j'en referai une! :)
Propositions bienvenues! :)
@++
R@f
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 5 août 2007 à 22:57
Salut coockiesch , tu parlais plus haut d'une mise à jour importante ,elle verra le jour ? merci
cs_aroh
Messages postés16Date d'inscriptiondimanche 13 juillet 2003StatutMembreDernière intervention17 octobre 2007 9 juil. 2007 à 19:06
^^
sidommou
Messages postés27Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention29 novembre 2010 9 juil. 2007 à 19:03
je viens de le résoudre mais merci comme même
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 9 juil. 2007 à 18:24
Yop!
C'est fait pour être utilisé dans un formulaire...
>> Ca tu le met où tu veux
Et le code dans anti_spam.php
@++
R@f
sidommou
Messages postés27Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention29 novembre 2010 9 juil. 2007 à 16:09
je sais que c un peu bète. J'ai mis ton code dans une page et je l'ai testé et ça marche.
mon problème est que le code doit être mis tout au début de la page. hors, moi je veux affcher l'image dans un formulaire. si qlq un peut m'aider
merci
cs_aroh
Messages postés16Date d'inscriptiondimanche 13 juillet 2003StatutMembreDernière intervention17 octobre 2007 5 juil. 2007 à 21:29
excellent script.
cs_tifon
Messages postés3Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 9 juin 2007 9 juin 2007 à 19:44
c'est ok pour moi , j'y suis enfin arrivé ... bravo pour le code !!!
cs_tifon
Messages postés3Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 9 juin 2007 9 juin 2007 à 18:54
(si quelqu'un veut tout de meme m'expliquer car ce code est plus performent ...)
kokliko00
Messages postés3Date d'inscriptionlundi 17 octobre 2005StatutMembreDernière intervention 9 juin 2007 9 juin 2007 à 18:13
Oui bien sur coockiesch ...
Merci comme meme .....
kokliko00
cs_tifon
Messages postés3Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 9 juin 2007 9 juin 2007 à 17:12
Comment faire pour que ce code verifie si ce code est bon et ensuite envoi un email ???
Merci d'avance ...
t1f°n
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 6 juin 2007 à 14:44
Yop!
As tu mis la police dans le répertoire du script?
@++
R@f
kokliko00
Messages postés3Date d'inscriptionlundi 17 octobre 2005StatutMembreDernière intervention 9 juin 2007 4 juin 2007 à 20:15
Bonjour !
J'ai essayer ce code qui à l'ai trés bien réalisé. Seulement je suis bloqué dés le debut car le
n'affiche pas d'image (il affiche comme une image où le lien est brisé) . Je suis sous Php 5.2.0 et GD2 est activé !
J'ai tout essayer mais rien ne marche ...
Merci de m'indiquer se que je pourrait essayer...
tcho
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 26 avril 2007 à 09:11
Yop!
La font est bien dans le même rep que le script?
Si tu es sous PHP4, enlève cette ligne: imageantialias( $img, 1 );
@++
R@f
tottosche
Messages postés2Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention25 avril 2007 25 avril 2007 à 22:10
euh moi perso, l'image ne veut pas s'afficher :( ... (je teste en easyPHP, je sais pas si dessu, y'a tout squ'il faut la ou il faut pour l'affichage de l'anti spam...
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 16 avril 2007 à 20:24
Source mise-à-jour... J'attends vos commentaires / critiques, :)
@++
R@f
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 16 avril 2007 à 18:54
Bonjour à tous!
Je tente d'étoffer un peu l'image pour la rendre plus difficilement lisible par des OCR...
@++
R@f
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 15 avril 2007 à 22:14
Tu as mis 'code' donc ton name aurait du s'appeler pareil je suppose (tu as mis imageantiflood)
Ou alors à quoi correspond ton $_POST['code'] ?
cs_louisdefunes
Messages postés6Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention15 avril 2007 15 avril 2007 à 21:32
je valide avec se bout de code :
qui etait sous :
<td></td>
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 15 avril 2007 à 12:28
mais bon sachant que cela ne bloque pas spécialement les robots il faudrait peut être mieux attendre une mise à jour de cette source plus costaud
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 15 avril 2007 à 12:24
tu valide comment ta page ? ^^
cs_louisdefunes
Messages postés6Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention15 avril 2007 15 avril 2007 à 00:06
voila se que j'ai mit sur ma page et sa fonctionne pas
<?php
session_start();
if(isset($_POST['submit']))
{
if ($_SESSION['clientconnection'] == $_POST['code'])
{
echo'le code entré est bon';
}
else
{
echo' le code entré n\'est pas bon';
}
}
else
{
?>
<tr>
<td><center>
</center></td>
<td></td>
</tr>
<?php
}
?>
cs_louisdefunes
Messages postés6Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention15 avril 2007 14 avril 2007 à 12:29
c'est un fichier index.php il et en 2 partie 1 ere partie le haut et en php l'autre moitier et en html donc moi le bout de code je l'est mit en haut de html sa ne fonctionne pas apres je le mit tout en haut donc au dessus de <?php et pareil
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 14 avril 2007 à 12:27
heu ton code ne veux rien dire la , tu valide si c'est différent ? : if( $_SESSION['panelclients'] != $spam )
donc je vois pas l'intérêt, et ton code n'est pas complet on ne sait meme pas ce que tu met sur le "else"
Logiquement pour une différence on affiche plutot un message de blocage , mais la ton code n'apporte aucune informations.
cs_louisdefunes
Messages postés6Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention15 avril 2007 14 avril 2007 à 12:19
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 14 avril 2007 à 09:27
Salut!
Quelles sont les lignes suivantes? Parce que, ca peut changer du tout au tout...
@++
R@f
cs_louisdefunes
Messages postés6Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention15 avril 2007 14 avril 2007 à 01:12
salut a tous je vient de l'installer jusqu'a la sans souci image s'affiche parfaitement masi je peut ecrire n'immporte quel chiffre ou lettre il me laisse passer
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 6 mars 2007 à 09:55
Okay, vais tâcher de faire une mise à jour plus complexe bientôt!
@++
R@f
McPeter
Messages postés134Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 avril 2013 6 mars 2007 à 03:53
Bon ben deçu ... pas par la source mais par la finalisation ...
je suis touhours autant spammé sur mon site.. apparement c'est "facilement choppable" par un soft style OCR
Sniff
McPeter
Messages postés134Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 avril 2013 6 mars 2007 à 02:18
Excellente source
aussitôt mise en application :)
Bravo !!
seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017 28 févr. 2007 à 19:26
Essaye ce que propose DKDKDK13 un peu plus haut, tu as peut-être pas lu le post dans toutes ces données :
Caze64
Messages postés1Date d'inscriptionmercredi 14 février 2007StatutMembreDernière intervention28 février 2007 28 févr. 2007 à 10:22
Je rencontre un problème avec la fonction imagettftext comme pas mal de personne.
Je l'ai testé en local sur mon PC avec une police standard dans une commande du genre :
imagettftext($Image, 8, 30, $x, $y, $couleur, "Arial",$Texte);
Ca marche impeccable.
Par contre lorsque j'ai voulu le publier chez Free, mon hébergeur, j'ai obtenu l'erreur suivante :
Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/146/free.fr/f/4/pyreneesespacevtt/Courbe.php on line 600
En quelque sorte il ne trouve pas le fichier police Arial.ttf sur le serveur.
J'ai suivi le conseil d'internautes en plaçant directement ce fichier sur la racine de mon espace de publication et en modifiant la variable d'environnement par la commande
putenv('GDFONTPATH=' . realpath('.'));
Mais je me suis rapidement aperçu que je n'en avais pas le droit (le safe_mode est activé et la fonction putenv interdite).
D'ailleurs j'ai contacté l'assistance de Free, voici leur réponse :
« Il n'est pas possible d'utiliser la fonction imagettftext sur les pages perso de Free malheureusement, la gestion du safe_mode est activée pour des raisons de stabilité liées à notre hébergement mutualisé. »
Connaissez-vous un moyen de contourner le problème ?
Pourquoi est-ce que ça marche en local ?
_La_Fouine_
Messages postés4Date d'inscriptionsamedi 25 juin 2005StatutMembreDernière intervention11 février 2007 11 févr. 2007 à 12:37
Re,
Merci Lanner et Cookiesch pour vos réponses.
J'ai bien un session_start(); dans la page du formulaire, j'avais d'ailleurs laisser au départ celui de anti_spam.php, ce qui ne change rien non plus.
De plus, je vide la variable apres le test du formulaire et dans anti_spam.php je teste si elle existe et la vide au cas ou (ca ne sert à rien mais bon dans l'doute ...).
Le problème viens du fait que lorsque j'arrive une première fois sur le formulaire cette variable est vide et aprés raffraichissement de la page, elle recoit la valeur de l'image precedente. Ce qui explique pourquoi cette valeur est vide au départ.
Merci encore.
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 10 févr. 2007 à 16:07
moi je l'ai eu j'ai simplement mis un session_start(); dans la page du formulaire avant de faire mon test
_La_Fouine_
Messages postés4Date d'inscriptionsamedi 25 juin 2005StatutMembreDernière intervention11 février 2007 10 févr. 2007 à 14:43
Salut !
J'utilise ce script avant de valider un formulaire mais je rencontre un probleme que je n'arrive pas à resoudre.
La variable contenue dans $_SESSION['livreor'] est vide à l'arrivée sur la page. Quand j'actualise, cette variable recoit la valeur de l'image precedente et non celle de l'image actuellement affichée.
Donc juste un petit message pour savoir si quelquu'un connaissait ce bug, que je suis le seul a rencontrer d'apres les commentaires.
Merci
macleod7
Messages postés15Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention21 septembre 2009 30 janv. 2007 à 23:52
Oui c'estune bonne idée mais non j'ai toujours une croix rouge.
pourtant la version php sur free et la 4.4.2
je continue de chercher à force
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 30 janv. 2007 à 23:43
Yop!
Faut peut être enlever la ligne 16: imageantialias( $img, 1 );
@++
R@f
macleod7
Messages postés15Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention21 septembre 2009 30 janv. 2007 à 22:53
ok merci je te remercie de ta réponse je comprend mieux, mais ce code serait bien car facilement adaptable à un formulaire quelconque, j'heberge ce formulaire sur free et l'image n'apparait pas et la je viens de faire le test d'envoi le formulaire s'envoi quand meme, mais je vais chercher autre chose dommage merci quand meme
seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017 30 janv. 2007 à 21:53
Le nom après name= est en fait le nom que tu vas donner à ta variable $_SESSION.
si par exemple tu mets name=contact alors le contenu de l'image (la valeur du code à recopier) se trouvera dans $_SESSION['contact'].
voila j'espère avoir répondu à ta question sans dire trop de bêtises.
macleod7
Messages postés15Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention21 septembre 2009 30 janv. 2007 à 19:23
Bonjour
le script pourrait m'aider mais j'utilise un formulaire de contact, j'ai créer donc la page anti_spam.php
dans la page contact.php j'ai mis tout en haut ceci
<?php
session_start();
?>
ensuite toujours dans cette page j'appelle le fichier php anti_spam comme ceci
Pouvez me dire à quoi correspond le nom après name= apparemment il fait référence à un livre d'or or pour moi c'est contact.php
comme ma page s'appelle contact j'ai contact derrière name
Pouvez vous me dire si j'ai bien fait merci
transgoku
Messages postés43Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention 9 janvier 2007 5 janv. 2007 à 02:27
Excuse-moi je n ai pas bien compris le code a mettre dans la page de verification...s.v.p donnez-moi le code au complet.. merci
cs_romulus67
Messages postés6Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention 3 janvier 2007 3 janv. 2007 à 11:18
Tu avais certainement du code html ou un espace avant d'anoncer session_sart()...
liteulkevin
Messages postés23Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 3 janvier 2007 3 janv. 2007 à 11:05
Bon ben désolé, j'ai rien dit, ça marche.
Désolé.
(comprend pas comment ça peut marcher maintenant.)
liteulkevin
Messages postés23Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 3 janvier 2007 3 janv. 2007 à 10:47
Bonjour, je trouve cette source très instructive.
Cependant, je n'arrive pas à l'utiliser.
Lorsque je l'ajoute en local dans mon formulaire, j'ai d'affiché Anti-flood à la place de l'image.
Lorsque je fais clique droit sur l'image, car Anti-Flood à l'air d'être une image, j'ai :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php:1) in e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php:1) in e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php on line 65
avec des caractères à la place de l'image.
j'ai easyphp avec gd2.
Quelqu'un peut m'aider svp?
cs_metis15
Messages postés314Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention30 novembre 2023 31 déc. 2006 à 18:12
OK merci, vais essayer !!! (;o))))))
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 25 déc. 2006 à 18:36
Salut!
Je pense que oui... On pourrait encore le complexifier un peu, genre rajouter des lignes et des formes ; faire que les lettres se touchent, ...
@++
R@f
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 25 déc. 2006 à 13:55
Mais est il vraiment efficace contre les robots à l'heure d'aujourd'hui ? sachant que certains passent tranquille les captcha
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 25 déc. 2006 à 13:31
Salut!
- Mettre le script et éventuellement la font dans un répertoire
- Depuis la page formulaire:
# appeler l'image:
# zone de saisie de code:
- Dans la page de verif:
# démarrer la session: session_start();
# récupérer le code entré par le visiteur:
$spam = isset( $_POST['spam'] ) ? strtoupper( $_POST['spam'] ) : '';
# vérifier:
if( $_SESSION['livreor'] != $spam )
// erreur ici
Voilà!
@++
R@f
cs_metis15
Messages postés314Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention30 novembre 2023 24 déc. 2006 à 14:43
Bonjour,
étant totalement nul en matière e codage, quelqu'un peut-il m'explique comment utiliser celà ?
seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017 25 nov. 2006 à 11:18
pour ma part quand un champs est mal rempli, je renvoie sur un clone de ma page de formulaire avec des valeur par defaut qui sont les champs correctement remplie, mais tous les champs secrêt eux ne sont pas repris, il faut les ressaisir d'office.
cs_romulus67
Messages postés6Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention 3 janvier 2007 25 nov. 2006 à 05:41
J'ai enfin trouvé pour imagettftext()!!
Chez moi la police doit se trouver dans un sous-dossier de celui qui accueil le script. Je l'appel donc comme ceci "police/comic.ttf". C'est bizarre, mais sa tourne!
Sinon j'ai remarqué avec FireFox: Quand je saisie une chaîne fausse (mauvais code), je n'ai qu'à faire "page précédente" pour retenter ma chance avec le même code car l'image ne se rafraîchie pas. Est-ce dangereux?
J'ai donc fait en sorte de détruire la session au cas d'erreur, par conséquent obligation de rafraîchir la page pour relancer une nouvelle session. Le problème avec cette méthode, c'est que je perd toutes les données du formulaire invalidé en cas d'erreur. Quelqu'un connaît une parade?
Merci d'avance!
seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017 25 nov. 2006 à 00:44
dsl encore moi ... je n'arrive pas à avoir un fond transparent sur l'image, est ce que quelqu'un peut m'aider ?
seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017 25 nov. 2006 à 00:43
Je me suis permis de modifier un peu la source, un tout petit peu, car elle est reellement excellente.
J'ai simplement renomé 3 fontes différentes puis placé dans un tableau et je les appelle aléatoirement pour chaque caractère.
seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017 23 nov. 2006 à 03:42
Merci ton code marche à merveille, j'ai juste supprimé les O et 0 pour eviter des confusions !
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 16 nov. 2006 à 20:25
en fait ca marche mais il faut bien un session_start dans la page formulaire
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 16 nov. 2006 à 19:12
bonjour , si quelqu'un pouvait un peu me guider, je ne comprend pas vraiment tout ce qu'il faut faire, pour que la variable $_SESSION['livreor']; il faut mettre aussi avant session_start(); ? car si je ne met rien quand je test un echo il n'y a aucune valeur, par contre si je met mon session_start la valeur ressorti ne correspond pas aux chiffres de l'image ... Je suis un petit perdu , merci d'avance
minijet
Messages postés1Date d'inscriptionsamedi 4 novembre 2006StatutMembreDernière intervention 4 novembre 2006 4 nov. 2006 à 23:51
Même pour un vieux comme moi, cela a été super facile à mettre en place( ueh, il faut avouer qu'après avoir descendu les fontes cela allait beaucoup mieux.
Merci pour ce script.
@+
Phil
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 2 nov. 2006 à 21:33
Mmmh, tjs pas d'infos non plus, dsl...
@++
R@f
cs_romulus67
Messages postés6Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention 3 janvier 2007 1 nov. 2006 à 04:08
J'ai toujours rien trouver...
Je suis chez lycos et pourtant ils ont GD2.0 et freetype.
finalement j'ai modifier le code en utilisant imagestring() à la place de imagettftext() mais le résultat n'est pas bien...
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 5 oct. 2006 à 16:19
Ajout du zip (police)! :)
@++
R@f
Sombrelune
Messages postés8Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention25 août 2008 5 oct. 2006 à 16:06
Romulus, essaye de copier la police que tu veux dans le dossier ou se trouve ton code
cs_romulus67
Messages postés6Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention 3 janvier 2007 4 oct. 2006 à 19:05
La GD est bien présente et la version exacte de php est "PHP 4.3.10"
dkdkdk13
Messages postés3Date d'inscriptionlundi 25 septembre 2006StatutMembreDernière intervention 3 octobre 2006 3 oct. 2006 à 18:48
Romulus
execute un script
<?php
phpinfo();
?>
pour voir si les bibliothèques GD sont installées.
(GD support : enabled)
++
cs_romulus67
Messages postés6Date d'inscriptionlundi 2 octobre 2006StatutMembreDernière intervention 3 janvier 2007 3 oct. 2006 à 17:19
Salut,
Ton code est de loin le plus interressant que j'ai pu trouver jusque là pour ce qui est de l'anti flood.
Mais mon site tourne sur PHP 4.3.qqlchose (lycos). Déja imageantialias() n'est pas supporté (je l'ai enlevé). Maintenant autre problème, les caractères ne s'affiches pas sur l'image. J'ai déja essayé avec:
putenv('GDFONTPATH=' . realpath('.'))
en dessous de "Sessionstart()" même chose.
Pourtant avec PHP5 (chez moi en local)le même code fonctionne...
Quelqu'un peu m'éclairer?
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 25 sept. 2006 à 18:59
Salut!
Bonne idée! Ou bien, mettre i et q en minuscules! :)
@++
R@f
dkdkdk13
Messages postés3Date d'inscriptionlundi 25 septembre 2006StatutMembreDernière intervention 3 octobre 2006 25 sept. 2006 à 18:53
2- Pour ceux qui ont des problèmes avec imagettftext(), j'ai mis
putenv('GDFONTPATH=' . realpath('.'));
en dessous de
session_start();
3- Enfin, j'ai des problèmes avec les signes L,I,1,Q,0 et O
J'ai mis
$string = 'ABCDEFGHJKMNPRSTUVWXYZ23456789';
++
jonathanrocchio
Messages postés10Date d'inscriptionlundi 21 juillet 2003StatutMembreDernière intervention28 octobre 2006 31 août 2006 à 23:55
Je trouve que c'est très beau et surtout très simple à utiliser.
Merci pour cette aide...
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 30 août 2006 à 17:08
Mmh, ca doit venir de la version de GD, enfin je pense!
Bonne idée le bruit en arrière fond!
@++
R@f
Toutoul
Messages postés55Date d'inscriptionsamedi 5 octobre 2002StatutMembreDernière intervention26 mars 2010 30 août 2006 à 17:04
voila, j'ai fait un autre exemple, bon, malheureusement, la fonction imageantialias() et imagettftext() ne sont pas inscrite... Mais au moins, cela fonctionne...
14 mai 2010 à 03:04
24 mai 2009 à 15:37
C'est une idée! Moi j'avais rajouté plusieurs contraintes temporelles en me disant qu'un humain pouvait difficilement taper un message en moins de 2 secondes, ... Je pense que tu peux aussi détecter le nombre de liens dans le message, etc...
Raf
24 mai 2009 à 14:58
moi j'ai mis ce superbe code sur mon site car j'étais harcelé par ces pu*** de robots de spam!
il fonctionne très bien, si ce n'est qu'un des robot qui propose du viagra arrive tjs à me mettre jusqu'a 11 pub par jour sur mon forum!!! Comment il fait?! logiciel OCR? ils sont ballaises quand même!!
Mais j'ai trouvé une parade qui a l'air de bien marcher! je laisse évidement ce captcha anti spam, mais pour le lien qui renvoie à mon forum, je met comme ca:
<form method="post" action="forum.php" name=form1>
[javascript:document.form1.submit() forum]
</form>
de cette facon j'envoie la variable "antispam" à ma page forum.php
et dans la page je contrôle que dans la variable il y aie "000" de cette facon:
<?php
if ($antispam == "000")
{
//ok (ca veut dire que la page est chargée en passant par le lien..)
}
else
{
print "Une Erreur s'est produite!";
exit;
}
?>
donc comme le robot charge directement les pages qui ont des forums, donc ici direct forum.php sans passer par le lien, la variable antispam est vide et le formulaire ne s'affiche pas :)
19 mai 2009 à 10:04
J'ai essayé d'intégrer ce système dans un site en cours dé développement dans un serveur off-line, mais l'image ne s'affiche pas. Je n'ai droit qu'à l'affichage du "alt". Pourtant, j'ai mis le fichier anti_spam.php ( en enlevant les lignes de la version 1 car je souhaite intégrer la version 2 ) à la racine du site, avec mon formulaire. Malgré tout, je n'ai aucune image qui s'affiche ! As-tu une explication à cela ? Vu que je débute en php, il est possible que j'aie oublié un détail !
Merci !
13 avril 2009 à 14:38
Code bien documenté, facile à adapter
Nickel
11 avril 2009 à 13:40
Le captcha que j'ai vu sur ton site n'est pas le mien...
Raf
10 avril 2009 à 22:34
http://www.cestmonsouhait.com
Impossible de valider le captcha !! et avec IE ça marche ...
c'est comme si une nouvelle session était créée à chaque appel de la fonction ...
17 nov. 2008 à 00:20
je fais une verif en javascript de $_SESSION('livreord'] et j'ai un coup de retard l'image est en dephasage Ancien IMAGE = ZERT Nouvelle FGFG et dans le script il me done pour $_SESSION ZERT
Voici le formulaire
<form name="Demande" onsubmit="return validation();" action="./mail.php" target="mainFrame" ENCTYPE="multipart/form-data" method="POST">
*Nom,
et le javascript qui verifie (dans la même page
function validation()
{
var aspam = '<? echo $_SESSION['livreor']; ?>'
var email = document.Demande.email.value;
var nom = document.Demande.from.value;
var vspam = document.Demande.spam.value;
var ville = document.Demande.ville.value;
var prenom = document.Demande.prenom.value;
var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
if (verif.exec(email) == null)
{
alert (\"Votre email est incorrecte\");
onLoad=document.forms['Demande'].elements['email'].focus();
return false;
}
else
{
alert(aspam);
alert(vspam);
if( aspam != vspam)
{
alert (\"Le code rentré est faux\");
return false;
}
if (nom==\"\")
{
alert (\"Votre nom est obligatoire\");
onLoad=document.forms['Demande'].elements['from'].focus();
return false;
}
if (prenom==\"\")
{
alert (\"Votre prénom est obligatoire\");
onLoad=document.forms['Demande'].elements['prenom'].focus();
return false;
}
if (ville==\"\")
{
alert (\"Votre ville est obligatoire\");
onLoad=document.forms['Demande'].elements['ville'].focus();
return false;
}
return true;
}
}
</script>
Merci d'avance de vos idée
A+
,
----
*Prénom,
,
----
*Ville,
,
----
Portable,
,
----
Tél.Domicile,
,
----
*E-mail,
,
----
Sujet,
,
Votre message,
<textarea name="message" rows="4" cols="50" wrap=virtual></textarea>,
----
Document,
,
----
<td height=\"177\" colspan=\"2\" align=\"center\"><table width=\"500\" border=\"0\">
----
Merci de bien vouloir tapez les caractères de l'image dans la zone |
|
|
|
----
|
</td>
</tr>
</table>
</form>
10 nov. 2008 à 00:16
Merci.
9 nov. 2008 à 01:12
Cela fait un moment que je n'ai pas retesté le script :) Est il toujours efficace contre le spam bots ?
merci
8 nov. 2008 à 18:23
Bonne soirée!
8 nov. 2008 à 18:21
8 nov. 2008 à 18:04
Qu'y a t il à la première ligne de ton fichier?
8 nov. 2008 à 17:59
le message d'errer etait :
Warning: Cannot modify header information - headers already sent by (output started at d:\easyphp1-8\www\fr\membre\anti_spam.php:1) in d:\easyphp1-8\www\fr\membre\anti_spam.php on line 92
8 nov. 2008 à 17:54
8 nov. 2008 à 17:53
8 nov. 2008 à 17:50
8 nov. 2008 à 17:40
8 nov. 2008 à 17:33
Et merci pour votre sacré temps ! ^^"
8 nov. 2008 à 17:25
d:\easyphp1-8\apache\php.ini
que extension=php_gd2.dll est bien sans ; au début
8 nov. 2008 à 17:18
8 nov. 2008 à 17:03
Je te propose:
1) d'accéder directement à l'image pour voir si elle fonctionne:
anti_spam.php?name=livreor&strlen=4
2) Change le alt="" de la balise img et rafraichis ta page... Si le texte change, ca renforce, mon idée que le chemin n'est pas le bon
Je te laisse me tenir au courant, :)
Raf
8 nov. 2008 à 16:59
8 nov. 2008 à 16:38
A mon avis, le chemin mis dans la balise vers le script n'est pas le bon...
Raf
8 nov. 2008 à 16:12
System Windows NT BENZ8PC 6.0 build 6001
Build Date Dec 14 2004 17:46:48
Server API Apache
Virtual Directory Support enabled
Configuration File (php.ini) Path d:\easyphp1-8\apache\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib
10 sept. 2008 à 15:00
j'aurai besoin d'un peu d'aide, parce que pour l'instant j'arrrive pas faire fonctionner ce script...
1° if( $_SESSION['livreor'] != strtoupper( $spam ) )
// erreur ici
si j'ai bien compris la je dois completer le code (si le code n'est pas bon> message d'erreur, si le code est correct> enregistrement du message??)
et j'ai aussi un probleme au niveau des sessions. j'ai pas encore decouvert ca, et j'aimerais deja savoir si pour ce script je dois creer un dossier session ou j'ai lu un "repertoire"??
merci d'avance pour votre aide.
24 juil. 2008 à 14:06
24 juil. 2008 à 14:00
Donc ca va après:
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des
24 juil. 2008 à 13:55
<?php session_start();
# récupérer le code entré par le visiteur:
$spam = isset( $_POST['spam'] ) ? strtoupper( $_POST['spam'] ) : '';
# vérifier:
if( $_SESSION['livreor'] != $spam )
// erreur ici
?>
<!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">
<!-- DW6 -->
<head>
<!-- Copyright Association Chorus Burkina Faso. -->
<title>Festival International de chants et musiques sacrés :: CHORUS</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Chorus : Festival International de chants en choeur et musiques sacrées de Ouagadougou" />
<meta name="description" content="Chorus : Livre d'or pour vos critiques et suggestions" />
<meta name="keywords" content="Serge Bayala, chorus-burkina, chorus ouagadougou, festival de chants sacré ouagadougou, nuit de la lumière, saint-esprit, Association Chorus Burkina Faso, chants en choeur, musiques religieuses, rabbi burkina, chorus production" />
<link rel="stylesheet" href="mm_entertainment.css" type="text/css" />
<style type="text/css">
<!--
.Style1 {color: #999999}
.Style2 {font-size: 30px}
.Style3 {color: #FFFFFF}
-->
</style>
</head>
,
ASSOCIATION CHORUS - BURKINA,
,
----
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="763" height="39" title="Animation flash">
</object>,
,
----
,
----
,
----
,
----
,
----
<?php include("rubrique.php"); ?>,
,
,
<table border="0" cellspacing="0" cellpadding="0" width="452">
----,
LIVRE D'OR
</td>
----
<form method="post" action="livreor.php">
Vous avez aimez ce site? Alors laissez nous vos impressions et suggestions
<table width="88%" border="0" cellspacing="0">
----, Votre pseudo: </td>
,
----
Message :,
<textarea name ="message" rows= "8" cols="45"></textarea>
ENTREZ L'IMAGE SUIVANTE:
,
----
</form>
<?php
mysql_connect("chorus2008.ipowermysql.com", "chorus", "chorus");
mysql_select_db("chorus_base");
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");
}
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees mysql_fetch_array($retour);$totalDesMessages $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo ' Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '[livreor.php?page=' . $i . ' ' . $i . '] ';
}
?>
<hr color="#0000FF"/>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo ' ' . $donnees['pseudo'] . ' a écrit :
' . $donnees['message'] . '
';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>
</td>
</tr>
<tr>
<td class ="bodyText"> </td>
</tr>
</table> </td>
<td width="50"></td>
<td width="266" valign="top"><?php include("groupe_nuit_lumiere.php"); ?>
</td>
<td width="4"> </td>
</tr>
<tr>
<td width="163"> </td>
<td width="1"></td>
<td width="50"> </td>
<td width="4"> </td>
<td width="456">
Conception et réalisation : Djimson KONE +226 78 83 11 98 E-mail: [djimi_kone@yahoo.fr djimi_kone@yahoo.fr] Webmaster
</td>
<td width="50"> </td>
<td width="266"> </td>
<td width="4"> </td>
</tr>
</table>
</html>
24 juil. 2008 à 13:50
Dans la page d'affichage du formulaire et dans celle de verif, tu oublies pas le session_start( ) tout en haut.
Ensuite, pour vérifier, c'est ce code:
if( $_SESSION['livreor'] != strtoupper( $spam ) )
// erreur ici
Dans erreur ici, faut mettre qqch pour que les données ne s'envoient pas car le code est faux, :)
Raf
24 juil. 2008 à 13:47
24 juil. 2008 à 13:43
NB : L'image s'affiche correctement mais en mettant n'importe quoi, ca passe dc ya pas de verification. Je suis debutant en programmation, je precise. Merci
24 juil. 2008 à 13:42
Il faut faire la vérification dans la page où tu traites les données de ton formulaire... :)
Y'a un exemple juste en dessous de ma source, :)
Raf
24 juil. 2008 à 13:40
23 juil. 2008 à 13:51
Qu'as-tu deja mis comme code dans ta page verif?
Raf
23 juil. 2008 à 13:44
Merci
10 mai 2008 à 11:46
Merci pour ce script tres simple à mettre en place
il me convient parfaitement
bye
22 janv. 2008 à 21:41
Suite au commentaire dexdc Masterjuh, information ajoutée, merci! :-)
@++
R@f
20 janv. 2008 à 19:41
Néophyte en php, j'ai beaucoup aprécié de tomber sur ce script, que j'ai facilement adapté sur le formulaire "d'envoie à un ami" trouvé ici (http://www.tamingthebeast.net/articles5/tell-a-friend-script-2.htm), en anglais certe mais c'est du "clé en main".
J'écris ici car la seule galère que j'ai eu, ne connaissant pas le php, c'est de pas avoir mis "session_start();" en haut de ma page qui teste les entrée du formulaire. Sans cela évidemment le code entré par le visiteur n'est comparé avec rien, et le résultat est que le formulaire est toujours bloqué.
Voilà, content d'avoir trouvé, je souhaite évité à d'éventuels néophytes en mon genre une paire d'heure de stress.
encore merci pour ce script
20 sept. 2007 à 22:31
Mais il me l'affiche en petit car aucun caractère ne s'affiche!! :-(
D'ou peut venir l'erreur?
Chris
20 sept. 2007 à 18:33
Puis-je avoir l'adresse de la page? :-) (par PM, si jms)
@++
R@f
20 sept. 2007 à 18:21
J'arrive vraiment pas a comprendre pourquoi il m'affiche pas l'image :-(
20 sept. 2007 à 18:11
anti_spam.php est à la racine de mon site donc j'ai mis également ma police à ce niveau.
Il faudrait que je mette tout ca dans un dossier?
Merci!
Chris
20 sept. 2007 à 18:03
Est-tu sûr que gd est activé? Et que la police est dans le répertoire du script? :)
@++
R@f
20 sept. 2007 à 18:01
Sur ma page ou se trouve mon formulaire j'ai mi : <?php session_start(); ?> tout en haut de ma page.
Et plus bas dans mon formulaire j'ai mis ceci :
Comment ca se fait que l'image ne s'affiche pas?
J'ai esayphp et la version 5.2.0 de php.
Un grand merci pour votre aide :-)
Chris
8 août 2007 à 19:32
Je regderai quand j'aurai l'occas!
Merci pour l'idée!
@++
R@f
7 août 2007 à 23:59
en se basant sur ton code ... mettre une addtion par exemple :)
à la place d'une sortie style : RX31
mettre : ( 145 + 45 ) - 10 :=)
il faudra bien entendu saisir le résultat de l'opération ^^
inclure dans ton code le niveau de l'opération : 2 chiffres à 2-3 nombres ou plus ... ;)
@++
6 août 2007 à 12:55
La mise à jour a été faite, elle correspond à la seconde version du code (image du bas sur la capture)...
Mais si je trouve d'autrs idées, j'en referai une! :)
Propositions bienvenues! :)
@++
R@f
5 août 2007 à 22:57
9 juil. 2007 à 19:06
9 juil. 2007 à 19:03
9 juil. 2007 à 18:24
C'est fait pour être utilisé dans un formulaire...
>> Ca tu le met où tu veux
Et le code dans anti_spam.php
@++
R@f
9 juil. 2007 à 16:09
mon problème est que le code doit être mis tout au début de la page. hors, moi je veux affcher l'image dans un formulaire. si qlq un peut m'aider
merci
5 juil. 2007 à 21:29
9 juin 2007 à 19:44
9 juin 2007 à 18:54
http://www.webmaster-hub.com/lofiversion/index.php/t29494-0.html
(si quelqu'un veut tout de meme m'expliquer car ce code est plus performent ...)
9 juin 2007 à 18:13
Merci comme meme .....
kokliko00
9 juin 2007 à 17:12
Merci d'avance ...
t1f°n
6 juin 2007 à 14:44
As tu mis la police dans le répertoire du script?
@++
R@f
4 juin 2007 à 20:15
J'ai essayer ce code qui à l'ai trés bien réalisé. Seulement je suis bloqué dés le debut car le
n'affiche pas d'image (il affiche comme une image où le lien est brisé) . Je suis sous Php 5.2.0 et GD2 est activé !
J'ai tout essayer mais rien ne marche ...
Merci de m'indiquer se que je pourrait essayer...
tcho
26 avril 2007 à 09:11
La font est bien dans le même rep que le script?
Si tu es sous PHP4, enlève cette ligne: imageantialias( $img, 1 );
@++
R@f
25 avril 2007 à 22:10
16 avril 2007 à 20:24
@++
R@f
16 avril 2007 à 18:54
Je tente d'étoffer un peu l'image pour la rendre plus difficilement lisible par des OCR...
@++
R@f
15 avril 2007 à 22:14
$_POST['code'] c'est le resultat de ton champ name="code"
15 avril 2007 à 21:56
15 avril 2007 à 21:39
input type="text" maxlength="4" name="imageantiflood" value="" />
Tu as mis 'code' donc ton name aurait du s'appeler pareil je suppose (tu as mis imageantiflood)
Ou alors à quoi correspond ton $_POST['code'] ?
15 avril 2007 à 21:32
qui etait sous :
<td></td>
15 avril 2007 à 12:28
15 avril 2007 à 12:24
15 avril 2007 à 00:06
<?php
session_start();
if(isset($_POST['submit']))
{
if ($_SESSION['clientconnection'] == $_POST['code'])
{
echo'le code entré est bon';
}
else
{
echo' le code entré n\'est pas bon';
}
}
else
{
?>
<tr>
<td><center>
</center></td>
<td></td>
</tr>
<?php
}
?>
14 avril 2007 à 12:29
14 avril 2007 à 12:27
donc je vois pas l'intérêt, et ton code n'est pas complet on ne sait meme pas ce que tu met sur le "else"
Logiquement pour une différence on affiche plutot un message de blocage , mais la ton code n'apporte aucune informations.
14 avril 2007 à 12:19
<?php
session_start();
$spam = isset( $_POST['spam'] ) ? strtoupper( $_POST['spam'] ) : '';
if( $_SESSION['panelclients'] != $spam )
?>
<html>
<head>
<title>Performant-Heberg : Espace clients</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="fr">
<meta name="description" content="Performant-Hosting : Espace clients">
<meta name="keywords" content="Performant-Heberg, heberg, performant, hebergement, bande passante, windows, debian, html, php, perl, mysql, backup, allopass, directadmin, ftp, apache">
<meta http-equiv="identifier-url" name="Identifier-URL" content="">
<meta http-equiv="revisit-after" name="Revisit-after" content="7 days">
<meta http-equiv="robots" name="Robots" content="all">
<meta name="robots" content="INDEX|FOLLOW">
<link href="http://www.performant-heberg.com/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Style8 {color: #000000}
.Style10 {color: #09BAB2}
.Style12 {
color: #09BAB2;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 10px;
}
-->
</style>
</head>
14 avril 2007 à 09:27
Quelles sont les lignes suivantes? Parce que, ca peut changer du tout au tout...
@++
R@f
14 avril 2007 à 01:12
en sachant que j'ai mit ceci au debut du hichier
<?php
session_start();
$spam = isset( $_POST['spam'] ) ? strtoupper( $_POST['spam'] ) : '';
if( $_SESSION['panelclients'] != $spam )
?>
quelqu'un aurai une idée svp merci
6 mars 2007 à 09:55
@++
R@f
6 mars 2007 à 03:53
je suis touhours autant spammé sur mon site.. apparement c'est "facilement choppable" par un soft style OCR
Sniff
6 mars 2007 à 02:18
aussitôt mise en application :)
Bravo !!
28 févr. 2007 à 19:26
http://www.phpcs.com/auteurdetail.aspx?ID=867237
J'ai pas d'autre solution pour le moment.
28 févr. 2007 à 10:22
Je l'ai testé en local sur mon PC avec une police standard dans une commande du genre :
imagettftext($Image, 8, 30, $x, $y, $couleur, "Arial",$Texte);
Ca marche impeccable.
Par contre lorsque j'ai voulu le publier chez Free, mon hébergeur, j'ai obtenu l'erreur suivante :
Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/146/free.fr/f/4/pyreneesespacevtt/Courbe.php on line 600
En quelque sorte il ne trouve pas le fichier police Arial.ttf sur le serveur.
J'ai suivi le conseil d'internautes en plaçant directement ce fichier sur la racine de mon espace de publication et en modifiant la variable d'environnement par la commande
putenv('GDFONTPATH=' . realpath('.'));
Mais je me suis rapidement aperçu que je n'en avais pas le droit (le safe_mode est activé et la fonction putenv interdite).
D'ailleurs j'ai contacté l'assistance de Free, voici leur réponse :
« Il n'est pas possible d'utiliser la fonction imagettftext sur les pages perso de Free malheureusement, la gestion du safe_mode est activée pour des raisons de stabilité liées à notre hébergement mutualisé. »
Connaissez-vous un moyen de contourner le problème ?
Pourquoi est-ce que ça marche en local ?
11 févr. 2007 à 12:37
Merci Lanner et Cookiesch pour vos réponses.
J'ai bien un session_start(); dans la page du formulaire, j'avais d'ailleurs laisser au départ celui de anti_spam.php, ce qui ne change rien non plus.
De plus, je vide la variable apres le test du formulaire et dans anti_spam.php je teste si elle existe et la vide au cas ou (ca ne sert à rien mais bon dans l'doute ...).
Le problème viens du fait que lorsque j'arrive une première fois sur le formulaire cette variable est vide et aprés raffraichissement de la page, elle recoit la valeur de l'image precedente. Ce qui explique pourquoi cette valeur est vide au départ.
Merci encore.
10 févr. 2007 à 16:07
10 févr. 2007 à 14:43
J'utilise ce script avant de valider un formulaire mais je rencontre un probleme que je n'arrive pas à resoudre.
La variable contenue dans $_SESSION['livreor'] est vide à l'arrivée sur la page. Quand j'actualise, cette variable recoit la valeur de l'image precedente et non celle de l'image actuellement affichée.
Donc juste un petit message pour savoir si quelquu'un connaissait ce bug, que je suis le seul a rencontrer d'apres les commentaires.
Merci
30 janv. 2007 à 23:52
pourtant la version php sur free et la 4.4.2
je continue de chercher à force
30 janv. 2007 à 23:43
Faut peut être enlever la ligne 16: imageantialias( $img, 1 );
@++
R@f
30 janv. 2007 à 22:53
30 janv. 2007 à 21:53
si par exemple tu mets name=contact alors le contenu de l'image (la valeur du code à recopier) se trouvera dans $_SESSION['contact'].
voila j'espère avoir répondu à ta question sans dire trop de bêtises.
30 janv. 2007 à 19:23
le script pourrait m'aider mais j'utilise un formulaire de contact, j'ai créer donc la page anti_spam.php
dans la page contact.php j'ai mis tout en haut ceci
<?php
session_start();
?>
ensuite toujours dans cette page j'appelle le fichier php anti_spam comme ceci
Pouvez me dire à quoi correspond le nom après name= apparemment il fait référence à un livre d'or or pour moi c'est contact.php
comme ma page s'appelle contact j'ai contact derrière name
Pouvez vous me dire si j'ai bien fait merci
5 janv. 2007 à 02:27
3 janv. 2007 à 11:18
3 janv. 2007 à 11:05
Désolé.
(comprend pas comment ça peut marcher maintenant.)
3 janv. 2007 à 10:47
Cependant, je n'arrive pas à l'utiliser.
Lorsque je l'ajoute en local dans mon formulaire, j'ai d'affiché Anti-flood à la place de l'image.
Lorsque je fais clique droit sur l'image, car Anti-Flood à l'air d'être une image, j'ai :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php:1) in e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php:1) in e:\dev\easyphp1-8\www\creation de cpt\en crs\anti_spam.php on line 65
avec des caractères à la place de l'image.
j'ai easyphp avec gd2.
Quelqu'un peut m'aider svp?
31 déc. 2006 à 18:12
25 déc. 2006 à 18:36
Je pense que oui... On pourrait encore le complexifier un peu, genre rajouter des lignes et des formes ; faire que les lettres se touchent, ...
@++
R@f
25 déc. 2006 à 13:55
25 déc. 2006 à 13:31
- Mettre le script et éventuellement la font dans un répertoire
- Depuis la page formulaire:
# appeler l'image:
# zone de saisie de code:
- Dans la page de verif:
# démarrer la session: session_start();
# récupérer le code entré par le visiteur:
$spam = isset( $_POST['spam'] ) ? strtoupper( $_POST['spam'] ) : '';
# vérifier:
if( $_SESSION['livreor'] != $spam )
// erreur ici
Voilà!
@++
R@f
24 déc. 2006 à 14:43
étant totalement nul en matière e codage, quelqu'un peut-il m'explique comment utiliser celà ?
25 nov. 2006 à 11:18
25 nov. 2006 à 05:41
Chez moi la police doit se trouver dans un sous-dossier de celui qui accueil le script. Je l'appel donc comme ceci "police/comic.ttf". C'est bizarre, mais sa tourne!
Sinon j'ai remarqué avec FireFox: Quand je saisie une chaîne fausse (mauvais code), je n'ai qu'à faire "page précédente" pour retenter ma chance avec le même code car l'image ne se rafraîchie pas. Est-ce dangereux?
J'ai donc fait en sorte de détruire la session au cas d'erreur, par conséquent obligation de rafraîchir la page pour relancer une nouvelle session. Le problème avec cette méthode, c'est que je perd toutes les données du formulaire invalidé en cas d'erreur. Quelqu'un connaît une parade?
Merci d'avance!
25 nov. 2006 à 00:44
25 nov. 2006 à 00:43
J'ai simplement renomé 3 fontes différentes puis placé dans un tableau et je les appelle aléatoirement pour chaque caractère.
// caractères
$font= array('font_1.ttf','font_2.ttf','font_3.ttf');
for( $i = 0; $i < $strlen; $i++ )
{
$col = imagecolorallocate( $img, mt_rand( 0, 120 ), mt_rand( 0, 120 ), mt_rand( 0, 120 ) );
imagettftext( $img, mt_rand( 20, 25 ), mt_rand( -30, 30 ), 10 + $i * 30, 35, $col, $font[mt_rand(0,2)], $chaine[ $i ] );
}
23 nov. 2006 à 03:42
16 nov. 2006 à 20:25
16 nov. 2006 à 19:12
4 nov. 2006 à 23:51
Merci pour ce script.
@+
Phil
2 nov. 2006 à 21:33
@++
R@f
1 nov. 2006 à 04:08
Je suis chez lycos et pourtant ils ont GD2.0 et freetype.
finalement j'ai modifier le code en utilisant imagestring() à la place de imagettftext() mais le résultat n'est pas bien...
http://www.fun-attitude.net/album_NewUser.php
31 oct. 2006 à 18:54
Que faire? hebergeur: amen.
6 oct. 2006 à 19:21
Je sais pas, dsl! Si je trouve une info je te redis!
@++
R@f
6 oct. 2006 à 18:27
Quelqu'un peu me dire si sa vaux le coup de continuer ou s'il vaut mieux que je change d'hébergeur?
Voilà la page: http://www.fun-attitude.net/album_NewUser.php
5 oct. 2006 à 16:19
@++
R@f
5 oct. 2006 à 16:06
4 oct. 2006 à 19:05
3 oct. 2006 à 18:48
execute un script
<?php
phpinfo();
?>
pour voir si les bibliothèques GD sont installées.
(GD support : enabled)
++
3 oct. 2006 à 17:19
Ton code est de loin le plus interressant que j'ai pu trouver jusque là pour ce qui est de l'anti flood.
Mais mon site tourne sur PHP 4.3.qqlchose (lycos). Déja imageantialias() n'est pas supporté (je l'ai enlevé). Maintenant autre problème, les caractères ne s'affiches pas sur l'image. J'ai déja essayé avec:
putenv('GDFONTPATH=' . realpath('.'))
en dessous de "Sessionstart()" même chose.
Pourtant avec PHP5 (chez moi en local)le même code fonctionne...
Quelqu'un peu m'éclairer?
25 sept. 2006 à 18:59
Bonne idée! Ou bien, mettre i et q en minuscules! :)
@++
R@f
25 sept. 2006 à 18:53
1- Pour ceux qui ont un probleme avec imageantialias(), voici une fonction qui rend les images plus jolies
http://icewind.ic.funpic.de/downloads/ellipse_function.txt
que j'ai pris sur
http://fr2.php.net/imageantialias
2- Pour ceux qui ont des problèmes avec imagettftext(), j'ai mis
putenv('GDFONTPATH=' . realpath('.'));
en dessous de
session_start();
3- Enfin, j'ai des problèmes avec les signes L,I,1,Q,0 et O
J'ai mis
$string = 'ABCDEFGHJKMNPRSTUVWXYZ23456789';
++
31 août 2006 à 23:55
Merci pour cette aide...
30 août 2006 à 17:08
Bonne idée le bruit en arrière fond!
@++
R@f
30 août 2006 à 17:04
en voici l'exemple :
http://antre.toutoul.free.fr/?spam
30 août 2006 à 11:24
30 août 2006 à 08:38
error: Call to undefined function: imageantialias() in antispam.php on line 16
En voici l'adresse :
http://antre.toutoul.free.fr/devp3/antispam.php?name=livreor&strlen=4
et lorsque j'essaye de mettre en commentaire la ligne numéro 16, il m'indique qu'il y a un problème ligne 48 soit pour la fonction imagettftext()
29 août 2006 à 17:31
Quelle est l'erreur?
As-tu bien le répertoire sessions à la racine du site?
@++
R@f
29 août 2006 à 17:02
29 août 2006 à 15:41
tout simplement genial :-)
9 août 2006 à 11:23
8 août 2006 à 10:34
7 août 2006 à 21:14
7 août 2006 à 13:22
pas gdchose à dire non plus, il est très joli ;-)
7 août 2006 à 12:41
C'est pas mal, j'en ai fait un dans le genre en plus simple car je ne voulais pas utiliser les fontes persos, mais ton exemple est vraiment bien ;)
a +