Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Tecniche x evitare lo SPAM tramite form contatti

    Salve a tutti,
    ricevendo tonnellate di SPAM direttamente dal form dei contatti del mio sito sto cercando di porre rimedio attraverso delle semplici funzioni, voi che filosofia adottate?

    Un paio di esempi:

    Controllo della validità di una E-Mail:
    codice:
    Function valida_email(email)
    Dim objRegExp
    Set objRegExp = New RegExp
    objRegExp.Pattern = "^[A-Za-z0-9._-]+\@[A-Za-z0-9._-]+\.[a-z]{2,4}$"
    objRegExp.IgnoreCase = True
    valida_email = objRegExp.Test(email)
    End Function
    Restituisce "False " nel caso non sia ritenuta valida nella sintassi.

    Evitare che scrivano con i nostri account del sito stesso (riporto il mio):
    codice:
    If Right(Request.Form("email"), 14) = "dscommerce.net" Then
    Response.redirect("contatti.asp")
    End If
    Altro modo per evitare i SPAM BOT è l'inserimento di un codice di sicurezza, è vero, ormai molti software riescono ad arginare questa sicurezza attraverso degli OCR o altri algoritmi di lettura delle immagini stesse o dei caratteri, io ho modificato il processo con l'inserimento del proprio IP!

    Come ricavare l'IP del visitatore:
    codice:
    Request.ServerVariables("REMOTE_ADDR")
    Quindi il visitatore dovrà compilare il Form con il suo IP, una maggiore sicurezza!

    Voi cosa ne pensate, come agite o come agireste?

    Grazie a tutti

  2. #2
    Terrei in memoria l'IP in server variables e ogni ora permetterei
    un nuovo inserimento

  3. #3
    Io ho utilizzato sia il metodo del controllo mail e con in più un database di ip che vado continuamente ad aggiornare e se durante l'inserimento di un messaggio con Request.ServerVariables("REMOTE_ADDR") ricavo l'ip e lo controllo dal database se la verifica è eof allora passo il messaggio altrimenti ritorna alla pagina iniziale.
    codice:
    	
    	'controlla tra gli ip spam
    	sql = "select remote_addr from tbl_ip where remote_addr ='" & trim(ip) & "'"
    	set rs=dConn.execute(sql)
    	if rs.eof then
    	'se non c'è l'ip allora procedi
    
    .....eccetera
    Nonostante tutto il problema persiste visto che anche se spesso gli indirizzi ip sono uguali, essi sono comunque tanti... io vorrei utilizzare un security code, ma non sò come fare.. voi sapreste darmi una mano?

  4. #4
    in che senso security code?

  5. #5
    Concordo con tutto quello già detto ma io aggiungerei anche un controllo CAPTCHA Non credo sia così semplice aggirarlo ed esagerare in questi casi non dovrebbe far male.

  6. #6
    è vero che ci sono OCR e simili che riescono a leggere il captcha, però più è complessa l'immagine del captcha e meno riescono a leggerla...cercati/creati un captcha adeguatamente complesso (ci sono molti captcha di cui spesso anche io non capisco cosa ci sia scritto, figurarsi un ocr)


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.