¿Cómo puedo tener un número aleatorio de 6 cifras enviado automáticamente a los solicitantes de mi formulario web y también guardado en la base de datos?

Bjorn Beheydt ha dado una buena respuesta. En caso de querer un número, optaría por mt_rand – Manual en lugar de rand.

Usted formula la pregunta, como si tuviera el problema de cualquier cosa que haya intentado generar diferentes valores en el formulario web y en la base de datos. Por supuesto, genera un número aleatorio una vez y lo usa en cualquier lugar que tenga que coincidir ahora o más tarde.

Puedes hacer lo que necesites con el número una vez que establezcas una variable, ¿no? No es inusual usar datos en varios lugares, una vez que se ingresan o generan, por lo que realmente me pregunto cuál es su problema.

Guárdelo en una tabla, póngalo en una entrada de formulario oculto para volver a enviarlo como identificación de un envío proveniente de un formulario creado recientemente y que no use una sesión secuestrada o un token de identificación de usuario robado. O escríbalo en un correo (como parte de un enlace de confirmación, por ejemplo).

Si desea usar esto como OTP para 2FA como secreto que usa para algo junto con Google Authenticator, use random_bytes – Manual para crear la clave secreta compartida con el usuario.

Puede usar múltiples fuentes de números / bytes aleatorios. La regla no es que el eslabón más débil constituye la fuerza de la cadena, todo lo que agregue hace que sea más difícil producir un identificador de tiempo correcto fuera de su servidor para engañar a una respuesta confiable. Por lo tanto, puede combinar el uso de cosas como mt_rand, UUID_short y random_bytes, siendo este último el más fuerte hoy, si su versión de PHP lo tiene.

Si se trata de un enlace de confirmación o una reidentificación de los envíos de formularios en la parte superior de la sesión del usuario, puede hacerlo con un número aleatorio de 6 dígitos, solo habrá una cantidad limitada de números actualmente activos que necesita para ser único, por lo que puede verificarlos, usted no tiene que mantener un historial de todos los números aleatorios creados. Pero el tiempo activo puede ser algunos días e incluso meses, si se usa en un enlace de validación / confirmación de correo. Entonces, como ya se señaló, puede combinar algunas de las opciones.

Debes definir qué idioma quieres usar 🙂

Pero, en PHP sería algo como:

   

Esto le dará un número aleatorio de 6 dígitos. Puede usarlo para mostrarlo en el formulario web, y puede guardarlo en su base de datos. Si necesita que el número sea único, primero debe verificar la base de datos para ver qué números ya se han utilizado antes.

Depende de su requerimiento. En qué lenguaje de script desea generar un número aleatorio de 6 dígitos.

PHP: Hay muchas formas de hacerlo en php. Ser

$ alpha_numeric = ‘ABCDEFGHIJKLMNOPQRSabcdefghijklmnopqrstuvwxyz0123456789’; $ only_numeric = ‘0123456789’;

echo “RandomString =”. substr (str_shuffle (str_repeat ($ alpha_numeric, 10)), 0, 6);

echo “RandomNumber =”. substr (str_shuffle (str_repeat ($ only_numeric, 10)), 0, 6);

?>