Hola, feliz 2007
En los últimos días los spammers estan atacando un formulario de contacto que tengo en mi web, y usandolo para enviar publicidad a otras direcciones de correo
¿Cómo puedo evitarlo?
Un saludo y muchas gracias
| |||
Spammers en formulario ¿cómo evitarlos? Hola, feliz 2007 En los últimos días los spammers estan atacando un formulario de contacto que tengo en mi web, y usandolo para enviar publicidad a otras direcciones de correo ¿Cómo puedo evitarlo? Un saludo y muchas gracias |
| ||||
Re: Spammers en formulario ¿cómo evitarlos? pues si, captcha es sencillo y cumple su función. aquí te dejo otro link: http://www.elguruprogramador.com.ar/...ver.asp?id=119 |
| |||
Re: Spammers en formulario ¿cómo evitarlos? Gracias por vuestras respuestas Me es complicado la programación del captcha, pero he visto que si no se valida el formulario, porque contiene errores, tambien me lo envia ¿Esto como se puede solucionar? O sea que si el formulario tiene errores, no sea validado y por lo tanto no lo envie Saludos y reitero mi gratitud |
| |||
Re: Spammers en formulario ¿cómo evitarlos? El formulario esta creado con dreamweaver y el codigo que genera es el siguiente: Código HTML: function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe ser una dirección de email válida.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' debe ser un número.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es obligatorio.\n'; } } if (errors) alert('Han ocurrido los siguientes errores:\n'+errors); document.MM_returnValue = (errors == ''); } Código HTML: <form name="form1" method="post" onSubmit="return validar('email','plantilla')" action="plantillas-webok.php"> <table width="67%" border="0" cellpadding="0" cellspacing="10" class="tablascontenido"> <tr> <td width="32%" class="verdana10"><strong>Nombre:</strong></td> <td width="68%"><input name="nombre" type="text" class="camposformulario" id="nombre" size="40"></td> </tr> <tr> <td class="verdana10"><strong>Apellidos:</strong></td> <td><input name="apellidos" type="text" class="camposformulario" id="apellidos" size="40"></td> </tr> <tr> <td class="verdana10"><strong>E-mail:</strong></td> <td><input name="email" type="text" class="camposformulario" id="email" size="40"></td> </tr> <tr> <td class="verdana10"><strong>Teléfono:</strong></td> <td><input name="telefono" type="text" class="camposformulario" id="telefono"></td> </tr> <tr> <td class="verdana10"><strong>Plantilla elegida:</strong></td> <td class="textopie"> <input name="plantilla" type="text" class="camposformulario" id="plantilla"> <br> Introduzca la referencia de la plantilla de su agrado. (Número naranja )</td> </tr> <tr> <td class="verdana10"><strong>Observaciones:</strong></td> <td><textarea name="consulta" cols="39" rows="4" class="camposformulario" id="consulta"></textarea></td> </tr> <tr> <td class="verdana10"> </td> <td><input name="Submit" type="button" class="boton-formulario" onClick="MM_validateForm('nombre','','R','apellidos','','R','email','','RisEmail','telefono','','RisNum','plantilla','','RinRange52:250');return document.MM_returnValue" value="Enviar"> <input name="Submit2" type="reset" class="boton-formulario" value="Borrar"></td> </tr> </table> </form> Saludos y muchas gracias por su ayuda |
| |||
Re: Spammers en formulario ¿cómo evitarlos? saludos, contra los spamers, olvidate de las validacions javascript, se saltean muy facil si no armas bien tu php. la mas facil es bajarse tu pagina, solo donde tienes el formulario, modificarla a gusto, o sea, quitar todos los chequeos javascript de los ingresos, linkear a la ruta ABSOLUTA de tu php, modificar los campos TO, agregar el campo BCC: que se hace muy sencillo, y modificar el contenido del mensaje para enviar todo lo que quieran. alguna de las precauciones, ademas del capcha, que si no lo vas a implementar debes tener si o si en cuenta. 1, que el php solo sea accesible / y solo reciba las variables desde UN unico dominio. de lo contrario que muestre mensaje de error. 2, no permitir desde php el ingreso de comillas puntos y @ en ninguno los campos, y para el campo e-mail, hacer una unica exepcion de colocar solo una @. 2,b No debes nunca usar nombres para tus paginas como: form, mail, e-mail, mailform, formMail, ni nada que se le parezca, los buscadores de formularios automaticos, buscan por nombres de archivos y saltan de links en links buscando paginas llamadas p.e form.php o form.htm o form.xhtml y demas... por lo tanto es otro punto a favor jamas usar esos nombres para tus formularios. y ojo, que los buscadores no rastrean esos 5 nombres... buscan montones de convinaciones posibles. 3, si llevas el punto 1 y 2 veras que el spamer solo podrá enviar de a un e-mail por vez, pues la proxima es usar sesiones, que nadie pueda enviar mensajes por mas de x tiempo. 4, añadir todas las protecciones posibles mediante javascript, la idea es que primero, nadie pueda echar mano a html, bloqueando opciones desde php, y luego bloquear el html para que tampoco puedan usar autocompletadores en tu web. 5, y esta deberias hacerla antes de las otras, consultar con tu servidor de hosting, la mayoria de los servidores poseen formularios seguros disponibles para los usuarios, esto les evita problemas, pues que te usen el formulario a ti, significa que coloquen en lista negra los ip de tu servidor de hosting y luego tu servidor tiene problemas con sus clientes a casusa de un formulario. es negocio para ellos facilitarte el form. si no te facilitan el formulario es probable que te puedan dar informacion muy util sobre como armar un form seguro. saludos, En cuanto a toda la parte tecnica, pues, yo no soy un programador php avanzado, solo diseñador, pero en mi grupo de trabajo, estoy con 2 programadores php y entre los 3 hemos podido darle pela a los spamers y solo decirte que todas las precauciones que tomes siempre serán pocas. |