Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/07/2013, 21:36
Avatar de metacortex
metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: Evitar bots en un formulario

Cita:
Iniciado por 0123 Ver Mensaje
Buenas a todos,

Estoy a punto de sacar una web sencillita centrada en un unico formulario. El caso es que tengo temor a ser atacado por algun bot.

Mi problema es que el formulario no puede comenzar con un captcha. Puedo poner el captcha si es la segunda vez que ejecuta el formulario, no tengo problemas con ello. Pero el problema es que si uso cookies para saber si ya ha ejecutado el formulario el bot no los va a guardar, sessiones por lo tanto tampoco me valen. Tal vez la IP es la unica forma que tengo?.

Es que no se me ocurre otra cosa... solo tengo la IP verdad?.

Hace tiempo tuve el mismo lío y encontré una solución muy simple. Se trata de implementar una especie de "captcha a la inversa", agregando un primer campo de texto cuyo atributo "name" sea bastante común (por ej: name="nombre"). A ese input lo ocultas mediante CSS con display: none. El usuario común no lo verá pero el bot sí los devorará.

A partir de aquí sólo resta validar los envíos que no tengan seteado $_POST['nombre'].

Desventaja: Usuarios con discapacidad que tengan lectores de pantalla también caerán en la "trampa". Si no tienes problema con esto puedes intentarlo.