livre d'or polué

13/11-2006 à 14:12Je cherche un méthode simple et efficace afin d'empecher mon livre d'or d'être polué par des messages publicitaires. En fait, je force la verification de chaque champs de formulaire lors d'un ajout de message, avec un champs caché devant renvoyer une valeur.... mais pourtant un petit malin arrive a déposer des messages dan smon livre d'or apparement san sremplir la formulaire et tout simplement en utilisant une méthode : post.


Je ne sais plus comment faire...

HELP

SEB


----------
NEO



13/11-2006 à 14:48ah oui, j'ai oublie de dire BONJOUR A TOUS tout à l'heure, voilà c'est rectifié
et de préciser quelle étaient les vérifications dans le formulaire :
- interdiction des valeurs ; default, DEFAULT, anonyme, ANONYME;
- neutralisation des touches <> permettant le html .

Pour info et pour partager voici le code pour neutraliser les touches < et > dasn une formulaire :

onKeypress="
if (event.keyCode==60 || event.keyCode==62) event.returnValue = false;
if (event.which==60 || event.which==62) return false;"



Et malgrè tout cela voici le genre de message qui pollue mon livre d'or :

<DEFAULT> (<Default>) à écrit le lundi 13 novembre 2006

Your site is very interesting
<aaaaa href="http://www.risksig.com/_kbas/0000026f.htm">viagra online</////a>
http://///////////www.risksig.com/_kbas/0000026f.htm
[urllllllllll=http://www.risksig.com/_kbas/0000026f.htm]viagra online[/////////url]


(les fautes de frappe dans le code sont faite exprès pour éviter que la pub n'apparaissent sur ce forum, je pense que tout le monde aura compris [:)(]

Un grand merci à l'avance pour le coup de main.

SEB




----------
NEO


livre d'or polué
13/11-2006 à 22:03Tu es certain que ce n'est pas plutôt un bot qui a rempli le formulaire ?
Le moyen classique pour parer à ce genre d'invasion est de demander à l'utilisateur de saisir un code de vérification, soit en l'écrivant en texte, soit (pour plus de sécurité) en générant une image via php en jouant avec des couleurs/tailles de typos différentes et en ajoutant du "bruit" autour pour éviter les bots particulierement vicieux qui utilisent la reconnaissance de caractères.

Bien entendu ce code devra être généré aléatoirement (ou du moins etre différent à chaque fois). Je me suis jamais vraiment posé la question, mais comme ça a priori, je m'orienterais vers un code créé à partir du numero d'id du message, pour pouvoir facilement faire la vérification ensuite.

Ensuite au moment de traiter ta méthode post, tu compares ce code avec ce qu'il devrait être, et voilà.


onKeypress="
if (event.keyCode==60 || event.keyCode==62) event.returnValue = false;
if (event.which==60 || event.which==62) return false;"




De toutes manières, ton script javascript a une faille absolument énorme. J'irais même jusqu'à dire qu'il ne sert strictement à rien : Tu empêches effectivement l'utilisateur d'appuyer sur les touches "<" et ">", mais tu oublies qu'un bot n'a pas besoin d'appuyer sur les touches d'un clavier, il se contente de remplir le champ directement.
Pour t'en persuader, essaye de faire un copier-coller du texte que tu cites ("<DEFAULT> (<Default>) à écrit le lundi 13 novembre 2006..." etc.)...
Ah ben oui, comme ça on peut utiliser < et > autant qu'on veut [:D]
Il serait plus efficace de vérifier après coup qu'aucun de ces caractères n'est présent dans le message, soit en javascript au moment ou l'utilisateurs clique sur le bouton, soit en php au moment du traitement.


Voilà, en esperant t'avoir un peu aidé.


----------
image


14/11-2006 à 09:46tout d'abord Merci BlueScreenJunky pour ta réponse :

une petite remarque en passant, le code que j'ai donné en info, je sais très bien qu'il n'est efficace que si quelqu'un remplie le formulaire, j'ai juste voulu partager ce petit bout de code....
Tu me diras certainement qu'il n'était pas placé au bonne endroit : errare humanum est. [:)(]

Pour ce qui est d'empêcher le bot d'envoyer les infos, il est vrai que le concept de validation du formulaire par la copie d'un code validation serait l'idéal mais je suis confronté à 1problème:

Le site que j'ai récupéré n'est pas en php (sinon le problème serait résolu depuis longtemps) mais en ASP (eh là, j'avoue je ne suis pas du tout familiarisé avec ce language).

Enfin, merci de m'avoir orienter sur le fait qu'il s'agit d'un bot qui sature mon livre d'or. Je vais essayer de me dépatouiller en êpluchant les lignes de code ASP et voir un peu comment bidouiller une vérif

Bonne journée à toi et encore merci.....










----------
NEO


14/11-2006 à 10:19aaaargh, oui en effet, en asp ça va être un peu plus compliqué ^^;

De toutes manières s'il s'agit d'un être humain qui pollue ton site (ce dont je doute), le problème est le même : une protection en javascript/html n'est pas efficace puisqu'il est toujours possible soit de désactiver javascript, soit de visualier le code source de ta page pour contourner les protections (et par exemple envoyer directement une méthode POST avec tout ce qu'il faut pour passer les vérifs).
Je pense effectivement que le seul moyen efficace est de gérer ça coté serveur, mais en asp... je te souhaites bon courage [°)]


----------
image


livre d'or polué
14/11-2006 à 10:57cela fait du bien d'avoir un message de soutien.... (+)

Dès que j'arrive a créer ce petit module en asp (cela prendra le temps que cela prendra), je le mets en lige pour faire profiter les autres et clore ce topic....

Tchô et encore merci

SEB


----------
NEO


Le post anonyme est désactivé.
Merci de vous identifier

« Forum technique (liste des messages)6 enregistrements / page 1/1