Habiendo aprendido ya algunas cosas básicas, como autentificación y registro de usuarios, hoy haremos una nueva inmersión en el maravilloso y enredado mundo de PHP.
Lo que haremos será crear un generador de contraseñas aleatorias y darle un poco de estilo para que lo insertemos en nuestros Sitios Web o donde sea que lo necesitemos.
Como siempre, todo el detalle y explicación, después del salto.
Cómo hacer un generador de contraseñas aleatorias en PHP
Para empezar, lo clásico:
Implementos necesarios:
- Un editor Web que soporte PHP, para este caso utilizaremos Adobe Dreamweaver CS3.
Con esa enorme lista de materiales lista, vamos al procedimiento:
Procedimiento:
Básicamente lo que haremos hoy consta de 2 pasos, crearemos una código que genere contraseñas aleatoriamente y además un botón para llamar a este código mediante autollamado de página junto con un campo de texto que presentará el resultado, así que vamos a la acción:
1.- Lo primero que haremos será crear un nuevo documento de tipo PHP en Dreamweaver y la llamaremos “generaclave.php”.
2.- Luego, haremos un pequeño formulario, el cual contendrá un campo de texto llamado “clave”, un botón que tenga el texto “Generar Contraseña”, y en action llamaremos a la misma página, o sea, “generaclave.php”. Al terminar, deberíamos tener algo como esto:
Formulario
Propiedades del formulario – Click para agrandar
3.- Con nuestro formulario creado, ahora empezaremos a insertar el código PHP que hará la operación. Lo primero que haremos, será insertar antes del comienzo del formulario (en vista de código), el siguiente código:
<?
if(!_$POST)
{
/* Aquí le decimos al interprete “Si no se ha presionado el botón, entonces muestre …” */
?>
Inmediatamente después de eso, insertaremos el código correspondiente a nuestro formulario (así, si no se ha presionado el botón “Generar contraseña” se mostrará el formulario en blanco), y justo después de eso, insertamos este código:
<?
/* Este código dice “En caso contrario, si se ha presionado el botón Generar Contraseña, entonces haga lo siguiente … “
}
else
{
$fuente=”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789″;
/* Declaramos una variable $fuente la cual contiene todas las letras en mayúscula, minúscula y los números del 0 al 9 */
$clave = “”;
/* Luego declaramos la variable $clave, la cual contendrá la contraseña que generemos, pero partirá en blanco */
for($i=0;$i<8;$i++)
{
/* Luego hacemos un ciclo o bùcle de tipo for, el cual ejecutará su contenido mientras nuestra variable i (que parte en 0) sea menor a 8 (el largo de las contraseñas que generemos), aumentando el valor de i de uno en uno */
$clave .= substr($fuente,rand(0,61),1);
/* Dentro de nuestra variable clave iremos concatenando (uniendo), el resultado de la función substr, la cual tanto en PHP como en otros lenguajes, se encarga de hacer una ‘sub-cadena’ a partir de una cadena determinada (en este caso $fuente, que es la variable que contiene todas las letras y números). Esta función utiliza los siguientes parametros:
substr(cadena de caracteres, posición inicial, largo de la extracción)
En este caso, nuestra cadena de caracteres será la variable $fuente, nuestra posición inicial sera una posición al azar creada con la función rand, la cual busca un número al azar entre 2 valores (en este caso 0 y 61, las posiciones iniciales y finales de las letras o números almacenados en $fuente) y el largo de la extracción será 1, o sea, equivalente a una letra o número.
Toda esta operación se repetirá 8 veces, y cada letra o número que se extraiga se irá uniendo a las anteriores dentro de la variable $clave.*/
}
/* A continuación, presentamos nuevamente el formulario, pero con una pequeña modificación. Como ya generamos la contraseña, en el campo de texto, llenamos el valor “value”, con <? echo ‘$clave’ ?>, o sea, le decimos al interprete que sobre el campo ponga el resultado de la operación que hicimos con anterioridad. */
<form id=”form1″ name=”form1″ method=”post” action=”generaclave.php”>
<table width=”469″ border=”0″>
<tr>
<td width=”159″><label>
/* Aquí añadimos el value */
<input name=”clave” type=”text” id=”clave” value=”<? echo ‘$clave’ ?>” />
</label></td>
<td width=”300″><label>
<input type=”submit” name=”button” id=”button” value=”Generar Contraseña” />
</label></td>
</tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</form>
}
Y listo, con esto tendremos nuestro generador de contraseñas el cual hemos insertado dentro de un pequeño formulario para que quede más amigable. Con el uso de if(!_$POST), hemos utilizado una característica de PHP conocida como “autollamado de páginas”, la que permite llamar a una misma página a través de un formulario y presentar distintos resultados dependiendo del contenido del formulario en sí. En un próximo tutorial entraremos más de lleno en este aspecto, pero es bastante similar a lo que utilizamos aquí.
Algunas consideraciones antes de terminar:
1.- Este es un código bastante básico, ya que lo principal es explicar el funcionamiento del proceso y que puedan tener un generador de contraseñas sin la necesidad de dominar código. A partir de esto se pueden introducir una serie de modificaciones que lo hagan más completo y seguro.
2.- En aspectos de seguridad, si así lo desean, una vez que generan la contraseña, pueden codificarla con alguno de los métodos que PHP presenta, ya sea md5, sha1 o base64encode, como hemos visto en otros tutoriales.
3.- Si desean cambiar el largo de su contraseña, solo deben modificar el numero “8” que pusimos en el búcle for por el largo que deseen.
Y con eso estaríamos, ahora pueden insertar su generador de contraseñas en sus sitios o lo que necesiten, y usarlo sin problemas.
Como siempre, este tutorial ha sido desarrollado, probado y documentado por el equipo de Trucos Del PC, por lo que cuenta con nuestro sello de garantía. Cualquier problema, consulta o comentario que puedan tener, no duden en hacerlo en el área habilitada a continuación.
Y recuerden que estamos al servicio de nuestros lectores, por lo que si hay algo que quisieran hacer y no saben como, pueden realizar una petición en esta página que hemos habilitado, e iremos en su ayuda.
Esperamos que este tutorial haya sido de utilidad para Uds.
Muchas gracias por leer y será hasta una próxima oportunidad.
No hay comentarios:
Publicar un comentario