OVH Cloud OVH Cloud

Formulaires spammés

57 réponses
Avatar
docanski
Bonjour,

Marre des spammeurs qui à la longue m'inondent de messages indésirables
par l'intermédiaire de mes formulaires ! J'ai cherché des solutions sur
le Web sans trouver celle que je voudrais mettre en oeuvre. Il y est le
plus souvent question de "captcha" sous forme de chaînes de caractères
générées aléatoirement par un script PHP mais celles-ci sont bien
souvent illisibles.
Comme l'essentiel des spams est fait de liens, que ceux-ci sont
répétitifs dans le même message, j'aimerais trouver un script à insérer
soit dans le formulaire, soit dans le script PHP de traitement de
celui-ci. Le principe serait soit d'interdire toute écriture d'un lien
comme ceci, par exemple :

if(armo.Avis.value == "http://")
armo.Avis.focus();
return false;}

(les noms armo et Avis sont repris d'un de mes formulaires visibles à
http://armorance.free.fr/formArmo.html)

soit de créer une condition du même genre mais dont le résultat serait
de refuser l'écriture de plus d'une chaîne de caractères *identique* de
7 lettres (par exemple) dans le même "textarea",
soit de créer ce même genre de contrôle mais dans le script PHP.
Malheureusement, l'âge et la mémoire :-( font que mes faibles notions de
JS que j'ai abandonnées depuis près de 10 ans ne me permettent plus de
coder une telle condition qui me paraît pourtant simple (le plus évident
étant toujours celui qu'on voit le moins ...) et pour ce qui est du PHP,
je suis une véritable bille.
Quelqu'un peut-il m'aider à réaliser ce petit script sur lequel je butte
sans trouver la solution ?

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/

10 réponses

1 2 3 4 5
Avatar
Sergio
Après mure réflexion, docanski a écrit :
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne, Sergio
ecrit ce qui suit en ce 03.08.2008 13:45 :

Personnellement, j'ai opté pour une solution toute con : Mettre un time-out
dans le script d'envoi : Si le rédacteur a mis moins de 15s à taper son
message, il est refusé.



15 secondes, c'est sans doute un peu trop long : le robot fera son boulot en
quelques fractions de secondes. Le principe semble intéressant, mais sur un
time-out plus court : Mikaël a raison sur ce point.
Tu peux refiler le code de ton script d'envoi ?



Dans la page de saisie du formulaire :
----------------------
<?php
/* .... */
$stamp=time() ;
?>
...
<form method="post" action="sendmail.php">
<input type="hidden" name="stamp" id="stamp" value="<?php echo $stamp
?>" />
...
</form>
----------------------
Dans le sendmail.php :
----------------------
$stamp=$_POST['stamp'] ;

$delta=time()-$stamp ;
if ($delta <= 15) {// 15 secondes mini entre saisie et validation
gotopage($pagesaisie,"?err=Frappez moins vite sur votre clavier!") ;
die() ;
}
...
----------------------

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
Olivier Miakinen ecrit ce qui suit en ce 04.08.2008 02:12 :
Le 04/08/2008 01:02, Olivier Miakinen a écrit :


... une série d'informations judicieuses et un moyen de trouver une
solution à mon problème ...

Merci Olivier !
Je vais étudier cela quand j'aurai quelques heures devant moi car en ce
moment je n'ai que peu de temps : suis occupé à restaurer ma maison en
Belgique et cela ne me laisse que de petits répis pour relever mon
courrier et d'envoyer de ci de là un message ou une réponse. Je prendrai
le temps de faire des tests en interne avant de corriger sur les sites
et reviendrai sur le sujet si j'ai des problèmes.

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Avatar
Olivier Masson
Olivier Miakinen a écrit :


Non, en effet. Pas si $destinataire et $titre sont codés en dur.




Les dernières versions de PHP ne protègent-elles pas ces champs ?
Avatar
none
docanski wrote:
Bonjour,

Marre des spammeurs qui à la longue m'inondent de messages indésirables
par l'intermédiaire de mes formulaires ! J'ai cherché des solutions sur
le Web sans trouver celle que je voudrais mettre en oeuvre. Il y est le
plus souvent question de "captcha" sous forme de chaînes de caractères
générées aléatoirement par un script PHP mais celles-ci sont bien
souvent illisibles.
Comme l'essentiel des spams est fait de liens, que ceux-ci sont
répétitifs dans le même message, j'aimerais trouver un script à insérer
soit dans le formulaire, soit dans le script PHP de traitement de
celui-ci. Le principe serait soit d'interdire toute écriture d'un lien
comme ceci, par exemple :

if(armo.Avis.value == "http://")
armo.Avis.focus();
return false;}



J'ai tenu des années (et ça tiendrait encore si je ne l'avais enlevé)
avec un champs "insérez 1234 dans le champs suivant" sur un formulaire
d'envoi de mail.

Simplement, les spammeurs sont à la recherche des formulaires les plus
courants (style phpbb). A partir du moment où ton script n'a rien à voir
avec ces formulaires, ça ne passe plus.
Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
none ecrit ce qui suit en ce 04.08.2008 20:45 :

J'ai tenu des années (et ça tiendrait encore si je ne l'avais enlevé)
avec un champs "insérez 1234 dans le champs suivant" sur un formulaire
d'envoi de mail.



Mais il faut bien écrire une "condition" dans le script qui permettra,
ou non, de valider le formulaire.
En JS, cela semble aléatoire, en PHP c'est plus efficace. Si ta solution
était codée dans ce dernier langage, n'hésite pas à la reproduire ici :
je suis tout regard, à défaut d'être tout ouïe :-)

Simplement, les spammeurs sont à la recherche des formulaires les plus
courants (style phpbb). A partir du moment où ton script n'a rien à voir
avec ces formulaires, ça ne passe plus.



Salut jp !

Non, c'est un formulaire "made by docanski" mais ça ne l'empêche pas
d'être utilisé pour m'envoyer des spams depuis plus de deux mois.
Et ça prend une allure exponentielle, ce qui est plus que gênant. Il est
donc temps d'y remédier.

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Avatar
Denis Beauregard
Le Mon, 04 Aug 2008 22:01:31 +0200, docanski
écrivait dans
fr.comp.infosystemes.www.auteurs:

En JS, cela semble aléatoire, en PHP c'est plus efficace. Si ta solution
était codée dans ce dernier langage, n'hésite pas à la reproduire ici :
je suis tout regard, à défaut d'être tout ouïe :-)



Si tu acceptes l'idée d'imposer le JS à tes visiteurs, alors la
solution est très simple et a été exposée dans ce forum il y a
quelques années.

Il suffit de faire afficher l'adresse seulement si la souris
est au dessus du lien mailto: Sinon, on affiche autre chose.

Il faudrait faire une recherche dans le forum pour trouver la
formule exacte utilisée.


Denis
Avatar
Sergio
Denis Beauregard avait soumis l'idée :

En JS, cela semble aléatoire, en PHP c'est plus efficace. Si ta solution
était codée dans ce dernier langage, n'hésite pas à la reproduire ici :
je suis tout regard, à défaut d'être tout ouïe :-)



Si tu acceptes l'idée d'imposer le JS à tes visiteurs, alors la
solution est très simple et a été exposée dans ce forum il y a
quelques années.

Il suffit de faire afficher l'adresse seulement si la souris
est au dessus du lien mailto: Sinon, on affiche autre chose.



Efficace ?
Quelque part le javascript contient l'adresse. Donc récupérable...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Olivier Miakinen
Le 05/08/2008 02:59, Denis Beauregard a écrit :

En JS, cela semble aléatoire, en PHP c'est plus efficace. Si ta solution
était codée dans ce dernier langage, n'hésite pas à la reproduire ici :
je suis tout regard, à défaut d'être tout ouïe :-)



[...]

Il suffit de faire afficher l'adresse seulement si la souris
est au dessus du lien mailto: Sinon, on affiche autre chose.



Je suis désolé, mais tu réponds à côté du sujet. Il n'y a aucune adresse
de courriel sur la page en question, mais un formulaire. Les spammeurs
ne récupèrent donc aucune adresse sur cette page, mais ils spamment par
son intermédiaire.
Avatar
Olivier Miakinen
Le 04/08/2008 22:01, docanski a écrit :

J'ai tenu des années (et ça tiendrait encore si je ne l'avais enlevé)
avec un champs "insérez 1234 dans le champs suivant" sur un formulaire
d'envoi de mail.



Mais il faut bien écrire une "condition" dans le script qui permettra,
ou non, de valider le formulaire.



if ($_POST['controle'] == "1234") {
...
}
Avatar
Olivier Miakinen
Le 04/08/2008 18:56, Olivier Masson a écrit :

Non, en effet. Pas si $destinataire et $titre sont codés en dur.



Les dernières versions de PHP ne protègent-elles pas ces champs ?



Oui, c'est ce que j'ai lu. Mais il vaut mieux faire comme si ça ne
l'était pas, on ne sait jamais (vieille version, bug, etc.).
1 2 3 4 5