Impedir la repetición de una acción?

Iniciado por Servia, 6 Febrero 2010, 13:19 PM

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

Servia

Subir información, el problema esque cuando hay algun error o se ha enviado correctamente, cuando el user acatualiza puede remandar la info que sin mas ni menos se ingresa.

Probaré con lo que me habeis dicho, muchas gracias.

dimitrix

Entiendo, entonces usa un identificador con el rand() por ejemplo y que mire en la db si ya existe y si existe pues que no lo guarde.

Un saludo!




WHK

Esque smf tiene un sistema similar pero utiliza la misma sesión de la persona logueada, guarda tu id de usuario mas tu ip en un log llamado flood y te hace una comparación de tiempo entre tu última acción, ahora... puedes regularizar eso atraves de su cookie o ip pero recuerda que ambas cosas son bypaseables, o sea que ambas cosas pueden ser evadidas.

Lo que puedes hacer es ponerle una captcha al form, de esa forma si alguien quiere enviar mil formularios tendrá que ingresar mil captchas y eso es practicamente imposible a menos que la captcha sea muy debil y sea bypaseable por algún sistema OCR.

Te recomiendo que uses recaptcha y con eso solucionas todos los problemas ya que siempre hay un intervalo considerable entre que cargas la web, ingresas el captcha y envías el form y te ahorras la base de datos, el log, etc etc.

Servia

No me gusta demasiado usar recaptcha porque a mi me molesta tener que escribir más para hacer lo mismo. De todos maneras parece mas versatil.