Bienvenido a Tecnohackers

Tecnohackers » Programacion » Programacion Webmaster (Moderador: Zentraedi)
 » 

Proteger formularios contra robots y web spam



Autor Tema: Proteger formularios contra robots y web spam  (Leído 933 veces)

Desconectado CronuX

  • Veterano
  • ***
  • Mensajes: 302
  • OllyDBG
Proteger formularios contra robots y web spam
« en: Octubre 16, 2009, 04:04:21 am »
Proteger formularios contra robots y web spam



Los ataques por robots en nuestras web es algo común hoy en día, por lo que voy a explicar varios métodos para protegernos de dichos ataques.

Uno de los sistemas más usados es protegerse con un Captcha, esa imagen distorsionada que a veces es ilegible hasta para los propios usuarios y aumenta la posibilidad de perder al usuario. Si os interesa esta técnica hay varios módulos por Internet si no queréis programarlos vosotros mismos.

Es por ello que os voy a comentar otras técnicas útiles que nos servirán para lo mismo pero quitando las desventajas que comenté de los Captchas.

Método 1: Realizar comprobaciones de los datos en el lado del cliente y en el lado del servidor



Normalmente comprobamos en el lado del cliente que los datos introducidos por el usuario son correcto (con Javascript o AJAX, por ejemplo). En general, los robots se saltan estas limitaciones, por lo que deberemos comprobarlo en el servidor.



Método 2: Introducir un campo oculto por css con nombre email

Creamos un campo oculto con un nombre que contenga la palabra "e-mail" y de valor por ejemplo "WinJaNet":

Código: You are not allowed to view links. Register or Login
<input type=text" name="emailfail" value="WinJaNet" sytle="display:none" />Los robots normalmente buscan todos los campos y los rellenan acorde a su nombre. Si en la página que comprueba que los datos son correctos, nos llega en ese campo una @ quiere que decir que se trata de un robot (mal programado por cierto ) y ha colocado en ese campo una dirección de correo electrónica.

Esta técnica a lo largo que pasa el tiempo se está volviendo más inefectiva pues los robots cada vez están mejor programados para sus tareas.

[COLOR="#ffa500]Método 3:[/COLOR] Controlar la sesión de usuario

Otro modo sería controlar que el usuario que entra en la página de envío de los datos proviene de la página de donde se introducen los datos. Para ello, creamos una variable que guardamos en la cookie, con un valor aleatorio (por ejemplo WinJaNet); al leer esa variable desde la segunda página, modificamos su valor para que tenga que volver a pasar por el formulario. De este modo, a la vez, limitamos al usuario a que no pueda refrescar muchas veces la página e introducir tantos datos.

Método 4: Introducir un campo oculto en el formulario oculto en el formulario una clave dinámica y encriptada

Creamos un campo oculto en nuestro formulario con una clave encriptada que nosotros conocemos (que sea dinámica sería ideal):


Código: You are not allowed to view links. Register or Login
<input type="hidden" name="miclave" value="<?=md5('WinJaNet'.$datodinamico.$numeroaleatorio)?>"/>
  • Una cadena que definamos
  • El producto de compra por ejemplo
  • Un número aleatorio cualquiera

Pasamos estos datos a la página del servidor y ciframos la clave de nuevo. Luego comprobamos que ambos valores coinciden.

David Rodríguez García
Fuente: DJ
« Última modificación: Abril 26, 2010, 12:55:27 am por dyb »



Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal