Tengo un montón de formularios Aweber con solo un nombre y un campo de correo electrónico en mi sitio. Los formularios están recibiendo muchos registros de spam. ¿Hay alguna manera de evitar que estos bots llenen mis formularios?

<form method='post' action='http://www.aweber.com/scripts/addlead.pl'>
  <div style='display:none;'>
    <input type='hidden' name='meta_web_form_id' value='-----' />
    <input type='hidden' name='meta_split_id' value='' />
    <input type='hidden' name='listname' value='-----' />
    <input type='hidden' name='redirect' value='-----' />

    <input type='hidden' name='meta_adtracking' value='-----' />
    <input type='hidden' name='meta_message' value='1' />
    <input type='hidden' name='meta_required' value='name,email' />
  </div>

  <ul class='vMenuForm'>
    <li class='lname'>Name(<span class='red'>*</span>):</li>
    <li class='name'><input type='text' name='name' value=''/></li>
    <li class='lemail'>Email(<span class='red'>*</span>):</li>
    <li class='email'><input type='text' name='email' value=''/></li>
    <li class='submit'><input class='button' type='submit' name='submit' value=''/></li>
  </ul>
  <div style='display: none;'><img src='http://forms.aweber.com/form/displays.htm?id=HKwMHMzMTCyM' alt='' /></div>
</form>

Esta es una de las formas tal como existe ahora. ¿Algunas ideas?

0
Nick 6 ago. 2011 a las 08:11

3 respuestas

La mejor respuesta

Crearía el formulario dinámicamente usando javascript. Esto debería evitar que los Bots simples publiquen su formulario. Aunque esta solución tiene inconvenientes, sus usuarios deben tener habilitado JavaScript.

1
vstm 6 ago. 2011 a las 04:28

De hecho, pondría un par de campos "honeypot" como type = "hidden", como "last_name", "first_name", ya que los robots de spam generalmente los completarán. Luego, en el lado del servidor, verifique si esos 2 los campos están llenos; Si es así, registre el intento de seguimiento y deje de procesar los datos. Las captchas también ayudan un poco, aunque no tanto en estos días.

2
jschorr 6 ago. 2011 a las 04:21

Use un sistema captcha como reCAPTCHA (por Google) o algún tipo de cosa especial del tipo "solo-humanos-pueden-responder" , como "¿Qué día es hoy?"

También tienen muy buenos complementos PHP y ejemplos para ti. Es muy simple, solo utilízalo así:

require_once('recaptchalib.php');
$publickey = "public_key";
echo recaptcha_get_html($publickey);

Podría probar algunas técnicas de "honeypot" (campos que los usuarios no pueden completar, generalmente porque están ocultos, pero los campos que los bots normalmente cumplirán), pero los bots están aprendiendo a contrarrestarlos en estos días al detectar si usted ' hemos establecido campos ocultos en los campos honeypot, ambos a través de. CSS y Javscript, por lo que esto no será una garantía de que se detendrán todos los bots.

2
foxy 6 ago. 2011 a las 04:29