Evitar DoS en mail()

Iniciado por nØFi#, 25 Junio 2008, 11:36 AM

0 Miembros y 1 Visitante están viendo este tema.

nØFi#

Buenas,
Estoy haciendo un formulario para que los usuarios puedan enviar mails a una cuenta de correo en concreto con la función mail(). Si dejo la función tal cual, cualquier usuario malintencionado podria enviar mails sin limite y colapsar el servidor o cuenta de correo.

Para evitar esto he pensado en hacer una pausa (con la funcion pause()) de 2 o 3 segundos antes de ejecutar el mail(). Asi evito que se hagan muchas peticiones en poco tiempo.

Lo veis correcto esto? Alguna alternativa mejor?
#

Hans el Topo

lo ideal sería crear un script php basado en cookies o sesiones o en tablas mysql de control que eviten que una misma ip pueda enviar más de x mails en x tiempo
 

nØFi#

Si también lo he pensado esto, pero si un usuario coge una lista de proxys y va haciendo peticiones con diferentes ips me quedo igual.
No creo que alguien se interese en hacer esto, pero mejor prevenir  :)

El problema que le veo al pause, es que cuando se conecten varios usuarios a la vez y quieran enviar mail, se van a tener que esperar un rato.. Por eso nose si hay alguna alternativa mejor.


Gracias por contestar ;)
#

#!drvy

Buenas, que tal con codigo captcha ? eso mismo estoy utilizando para un script en el que estoy ahora.... asi antes de enviar un email el usuario debe introducir el codigo y en caso de que no sea valido le echa xD..



Saludos

дٳŦ٭

Tambien puedes usar sleep(segundos).  ;) Yo usaría una tabla para las ips y un captcha.


Con sangre andaluza :)