Version complète: sur le forum Webmaster Hub : protection de son livre d'or contre les spams
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Asp, Java, Cfm, autres.
ccluz
Bonjour,

Mon site utilise un livre d'or tout simple qui à l'époque était fourni par mon hébergeur, Oléane.
Or, nous subissons régulièrement du SPAM sur ce livre, et depuis quelques temps, du spam pas bête qui fait un renvoi automatique vers un autre site, ce qui est assez gênant.

Mon livre est en ASP. Y'a t'il un moyen de mettre facilement une vérification de saisie (demander à l'internaute de saisir un chiffre demandée (aléatoire ou pas), etc) pour contrer les spams, je ne cherche pas spécialement LA méthode ultime, mais déjà faire un peu le ménage, c'est déjà beaucoup !.


Le code :

CODE
<%Set conn = Server.CreateObject("ADODB.Connection")
connstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=chemin ma BDD"
conn.Open connstring
If Request.Form("Envoyer") = "Poster le message" then
If request.form("nom") <> "" and  request.form("email") <> "" and request.form("sujet") <> "" and request.form("message") <> "" then
Set mail = Server.CreateObject("CDONTS.NewMail")
mail.To = "monmail_AT_domaine.com"
mail.From = "monmail_AT_domaine.com"
contenu = "Message posté le " & now & " par " & request("nom") & CHR(10)
contenu = contenu & "Corps du message :" & CHR(10) & request("message")
mail.Subject = "Un message a ete poste dans votre livre-d'or"
mail.Body = contenu
mail.Importance = 1
mail.Send
Set mail = nothing
contenu = Replace(Request.Form("message"), "'", "µ")
para = "INSERT INTO messages (auteur, email, sujet, message, date_msg) VALUES ('" & request("nom") & "','" & request("email") & "','" & request("sujet") & "','"& contenu &"', '" & now & "')"
conn.Execute(para)
else
Response.write "<font face=verdana color=red size=2><b>Merci, de remplir tout les champs !</b></font>"end if
end if
affich = "SELECT * FROM messages ORDER BY num DESC"
Set affiche = conn.Execute(affich)
%>


Merci de votre aide

Hésitez pas si j'ai oublié quelque chose à dire ! smartass.gif
theprogrammeur
Pour bloquer les spammeurs, (qui sont surements des robots), mets une image de validation (code sur une image).
Je sais le faire en PHP mais pas en ASP, recherche "captcha ASP" sur Google, tu trouveras surement. smile.gif
ccluz
merci, j'ai commencé à chercher un peu mais rien trouver de bien concluant par le moment mellow.gif
ALeX!S
Regarde du côté de akismet si il existe un module pour ASP ... ou utilise l'API pour l'exploiter.

C'est le meilleur système je pense ... tu envoies le post vers akismet qui te répond si c'est un spam ou non ... si c'est un spam, il suffit de le marquer comme tel et le mettre en attente d'une validation manuelle.
C'est plutôt efficace et akismet est capable d'apprendre de ses erreurs. wink.gif
Olivier
Tester le code langue du navigateur, si il y a du FR, ok on ecrit dans la BDD, on envoie un message de politesse "Votre message a bien été ..."
si il n'y a pas de FR, on n'écrit rien en BDD, mais par politesse on envoie quand même un message "Votre message a bien été ..."

L'internaute n'a pas à déchiffer et retranscrire un Completely Automated Public Turing Test to Tell Computers and Humans Apart wow.gif
ALeX!S
et le pauvre internaute qui utilise un browser US/NL/?? (comme ceux de mon boulot, qui sont pourtant francophone) ben ils sont bannis ... pas bien sad.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.