Prevenir envíos múltiples usando token PHP

- Versión
- Descargar 1203
- Tamaño del archivo 195.28 KB
- Recuento de archivos 1
- Fecha de creación 12 septiembre, 2018
- Última actualización 12 septiembre, 2018
Prevenir envíos múltiples usando token PHP
Prevenir envíos múltiples usando token PHP. El problema de los formularios es muy común en el lenguaje php. Por lo tanto, los programadores utilizan formularios para almacenar información en una base de datos y/o correo electrónico. Sin embargo, el problema radica cuando se envía el formulario. La página enviada se puede actualizar dando clic derecho recargar o reenviar según el navegador que estemos usando.
También usaremos sesiones para evitar que nuestro formulario vuelva a registrar la misma información.
Prevenir envíos múltiples usando token PHP
Para evitar este inconveniente estableceremos un token dentro de nuestro formulario en un campo oculto tipo "HIDDEN
" en un input HTML. El token generado en sí es simplemente una cadena generada aleatoriamente de manera automática que se agrega al formulario mediante un input oculto y se almacena en una sesión también.
Para realizar este ejercicio, usaremos la función uniqid()
del lenguaje PHP y se utiliza para generar el valor del token para implementar en un determinado formulario HTML5.
/* creamos el token de formulario unico */ $formulario_token = uniqid();
¿Cómo funciona el Script PHP?
- El usuario final no podrá visualizar algún extraño contenido en el formulario. Por lo tanto, como ya explicamos líneas arriba, se implementara un input oculto para manejar al TOKEN.
- Una vez que el usuario llena el formulario con sus datos para su respectivo registro, este formulario a la vez también envía el input oculto con la propiedad "HIDDEN" y como valor contendrá el TOKEN generado de manera dinámica.
- El fichero
procesa.php
que se encargara de validar los datos enviados por el formulario. - Los campos de nombres no deben contener caracteres especiales y para corregir esos detalles usaremos "FILTER_SANITIZE_STRING".
- Además que la información que ingresa el usuario debe contener de 1 a 60 caracteres como máximo. Sin embargo, si todo eso se cumple pasara a registrar los datos.
¿Cómo prevenir envíos múltiples?
A continuación explicaremos la prevención de registros duplicados.
- Si el usuario envía la información del formulario, suele suceder que el navegador se queda cargando por algún motivo o por la lenta conexión de internet.
- Por ende, se produce el famoso contenido duplicado.
- Para evitar este inconveniente, este formulario valida un TOKEN y si el usuario refresca o actualiza la página mostrara un mensaje de "Envío Invalido" y evitara el contenido duplicado.