Regresar a la página www.ComoCrearTuWeb.com
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 22

Tema: Formulario de un solo uso

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15

    Formulario de un solo uso

    Hola, me gustaría saber lo siguiente: ¿es posible hacer que tras efectuar un único envío, un formulario no acepte más reutilizaciones del usuario que acaba de utilizarlo? Pregunto esto porque no es difícil imaginarse a un grupo de cretinos aburridos sentados en torno a un ordenador y enviando toda una ráfaga de sandeces a través de un formulario de contacto. ¿Hay alguna forma de impedir esto?

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    Es dificil lo que pides

    Lo que pides es dificil, ya que hay muchas variables, si se requiere estar registrado para usarlo, si no requiere registro, puedes blokear el formulario por medio de la ip del usuario, puedes usar sesiones, de tal forma que el formulario solo aparesca una vez y cuando se use, que ya no vuelva a aparecer. hay varias formas de hacer lo que pides, claro algo complicadas pero se puede, se necesita algo de paciencia para hacer eso.

  3. #3
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    Sí, me hago a la idea de que debe de ser algo complicado. Yo pienso en un sistema como el que supongo usan esas webs -generalmente de donaciones- que invitan al usuario a hacer click en un banner o imagen, pero advierten de que aunque se hagan varios clicks seguidos sólo es válido el primero (un click diario). Por eso imaginaba que ese método -sea el que sea- quizá pudiera servir para que un formulario acepte sólo un envío diario de cada visitante.

    Parece dificilillo para un novato :( , a menos que haya herramientas específicas construidas para ese objetivo...

  4. #4
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    Bloqueo de ip

    lo que puedes hacer es limitar el uso por ip, cada ip podra usar el formulario una vez al dia solamente, aunque eso dejaria a los que utilizan proxy sin poder susarlo.

    Mira esto: http://www.cctw.aportaciones.net/con_sessiones.php , Actualiza la pagina unas 5 veces y veras lo que hace.

    El Problema en esa pagina es que cuando cierras el navegador se pierde el conteo.

  5. #5
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    ¿Significaría eso que, si por ejemplo, alguien usa el formulario desde el ordenador de un cibercafé, ninguna de las siguientes personas que utilizaran ese equipo durante el resto del día podrían emplear el formulario?

  6. #6
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    Asi es

    Asi es amigo, si usas el blokeo de ip, si la ip es de un ciber cafe o es una ip externa y asu vez hay una red interna que obtiene el adcceso a internet por esa ip, todos los demas usuarios que quieran utilizar el formulario ya no podran usarlo, si ya fue usado.

  7. #7
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    De todas formas, creo que en el ejemplo del enlace el tiempo de bloqueo es de seiscientos segundos; quizá configurarlo así, para bloquearlo durante varios minutos -diez, por ejemplo-, sería suficiente para desalentar a los graciosos. Y por cierto, ¿qué codigo habría de usarse para conseguir tal cosa?

  8. #8
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    Aqui el codigo

    Asi es amigo, el script que hice puedes configurarlo por el tiempo que quieras, pero todo en segundos, Y deja de funcionar cuando se sierra la ventana, pero tambien seria un poco tedioso estar cerrando la ventana cada que quieran escribir otra vez, asi que supongo que los graciosos que escribin sin razon, les molestara un poco y dejaran de hacerlo.

    Código:
    <?
    $sesion="formulario";
    $mostraren="600";
    $ahora=@date("Y-n-j H:i:s");
    @session_name("$sesion");
    @session_start();
    $duracion = (@strtotime($ahora)-@strtotime($_SESSION['llego']));
    $esperar=$mostraren-$duracion;
    if(!isset($_SESSION['llego'])){
    @session_name("$sesion");
    @session_start();
    $_SESSION['llego']=$ahora;
    
    
    echo "Hola Hace mas de 600 segundos que no actualizabas tu pagina";
    
    
    }else{
    if($duracion >= $mostraren){
    @session_destroy();
    @header("Location: ocultar.php");
    }else{
    
    echo "No Puedes Usar El Formulario, Espera $esperar segundos";
    
    }
    }
    
    ?>
    Espero y te sirva Amigo, voy Ha tratar de hacer uno que use Cookies, espero y te sirva este script amigo.

  9. #9
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    Muchas gracias, serverdns, :D ,la verdad es que toda precaución contra los ciberpayasos es poca. No entiendo prácticamente nada de PHP, así que por si acaso te pregunto la conexión entre el script PHP y el formulario html/css se efectuaría en este caso de la misma forma que, por ejemplo, la unión entre un formulario de contacto html y el script PHP de envío, ¿correcto?

  10. #10
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    Como Ponerlo en tu web

    La forma De usarlo en tu web es simple:

    Código:
    <?
    $sesion="formulario";
    $mostraren="600";
    $ahora=@date("Y-n-j H:i:s");
    @session_name("$sesion");
    @session_start();
    $duracion = (@strtotime($ahora)-@strtotime($_SESSION['llego']));
    $esperar=$mostraren-$duracion;
    if(!isset($_SESSION['llego'])){
    @session_name("$sesion");
    @session_start();
    $_SESSION['llego']=$ahora;
    ?> 
    
    Aqui Pondras todo tu codigo html que quieres mostrar, en este caso todo el html del formulario.
    
    
    <?
    }else{
    if($duracion >= $mostraren){
    @session_destroy();
    @header("Location: ocultar.php");
    }else{
    ?> 
    
    Aqui pondras tu mensaje donde dices tu mensaje que ya no pueden usar el formulario, o podrias redirecionar a otra pagina.
    
    <?
    }
    }
    ?>
    Cualquier duda Preguntas.

  11. #11
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    Muy agradecido, serverdns :) . Precisamente he encontrado un artículo sobre protección de formularios contra el spam http://surlandia.com/2006/11/08/evit...rmularios-php/, y veo que entre otras cosas se menciona el sistema que tan amablemente me has explicado. Por cierto, en el comentario 33 de ese hilo de discusión se habla de otra posibilidad, concretamente de ocultar el formulario cuando el mensaje ha sido enviado. Creo entender que eso se consigue con una mezcla de css y php, pero no acabo de comprenderlo del todo. ¿Sabes cómo se aplicaría ese método?

  12. #12
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    javascript

    En realidad lo que se explica alli es como usar una funcion en javascript que te detecte cuando el formulario fue enviado y lo oculte, pero al igual cuando cierras el navegador y lo abres denuevo, aparecera.

    Puedes probarlo tal y como dice alli, le das nombres a tus DIVs y creas la funcion que alli explica en el comentario 32 y talvez funcione, yo no se mucho de javascript asi que no puedo ayudarte con ese script.

    Pero Ya casi termino el script en php que te comente con Cookies, lo que este ara sera crear una Cookies donde guardara una variable que llevara el conteo del tiempo, y no desaparecera hasta limpiar las Cookies, que es un poco tedioso hacer cada vez que quieran usar el formulario, asi que se desanimaran en hacerlo. Claro a los que lo usen mas de una vez, y esto no esta basado en ip, sino en la maquina. si que cada maquina podra enviar un mensaje digamos cada 10 minutos solamente o 20 segun lo decidas tu.

    Pronto Te Dejare Aqui el codigo

  13. #13
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    Muy agradecido, serverdns, te agradezco mucho tus informaciones. Eso que comentas de las cookies parece prometedor, pues si no he entendido mal el bloqueo del formulario se limitaría únicamente al equipo desde el que se haya efectuado el último envío. En cuanto a las instrucciones derivadas del enlace que antes adjunté, el comentario 32 explica, en efecto, el ocultamiento del formulario mediante Javascript; en cambio, el 33 habla de un método para conseguir el mismo objetivo, pero sin Javascript, usando sólo css y algo de PHP. Bueno, en cualquier caso quedo a la espera de ese procedimiento basado en cookies.

    Muchas gracias de nuevo y un saludo.

  14. #14
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    16

    Ocultar

    Listo Amigo, puedes verlo funcionar en: http://www.cctw.aportaciones.net/con_cookies.php esta basado con cookies, actualiza la pagina despues de entrar, cierra el explorador y vuelve a entrar, deberia persistir la sesion y mostrarte el mismo mensaje que viste antes de cerrar el esplorador, el efecto pasa despues de 5 minutos.

    Código:
    $web="miweb";
    $vida=300;
    $llego=time();
    $caduca=time()+ $vida;
    if(!isset($_COOKIE[''.$web.''])){
    setcookie("".$web."","".$llego."","".$caduca."");
    echo "Gracias por Visitarme 
    
    ";
    }else{
    echo "Gracias por Visitarme Otra Vez
    
    ";
    }
    ?>
    Espero Y Te Sirva, Cualquier Duda Preguntas. La cookie no sera borrada si cierras el explorador, el tiempo de vida es de 5 minutos, cada 5 minutos podras usar el formulario.

  15. #15
    Me va gustando esto... Habitante
    Fecha de Ingreso
    01 abr, 08
    Mensajes
    160
    Poder de Reputación
    15
    Muchas gracias, amigo, lo probaré y te comentaré lo antes posible.

    Un saludo y gracias de nuevo

Temas Similares

  1. Formulario para sólo números
    Por Heliotropo en el foro Formularios
    Respuestas: 3
    Último Mensaje: 09/04/2010, 12:07
  2. Ayuda ps no me CAe el servidor solo solo puro LOADING
    Por mamut57 en el foro Problemas de Conexión con tu Servidor?
    Respuestas: 0
    Último Mensaje: 06/03/2008, 16:13

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •