About Taringa!

Popular channels

PHP: Registro y Logeo en MD5

PHP: Registro y Logeo en MD5 sin base de datos



Sin duda uno de los sistemas mas seguros para codificar una contraseña es en MD5 y esto se debe a que no hay forma de decodificarla, por ello lamentablemente es muy difícil aprender como se usa en realidad, por ello les mostrare como se hace.

Creando los formularios:

Esto es lo mas simple de todo ya que debemos crear un formulario, lo podemos hacer manualmente o con este generador de formularios en html5. Clic Acá para acceder o puedes usar el siguiente código:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de Registro en MD5</title>
<style type="text/css">
.form{ 
    max-width: 100%; 
    min-width: 25%; 
    border-width: 2px; 
    border-color: #CCCCCC; 
    border-radius: 4px; 
    border-style: solid; 
    color: #222222; 
    font-size: 14px; 
    margin: 0px; 
    background-color: #FFFFFF; 
    padding: 20px; 

.content{ 
    margin: 0px; 

.form label{ 
    color: #222222; 
    font-size: 14px; 
    display: block; 

.form input[type=radio], input[type=checkbox]{ 
    margin: 10px; 
    width: 13px; 

.form div{ 
    display: block; 

.form input, form textarea, form select{ 
    border-width: 1px; 
    border-style: solid; 
    border-color: #666666; 
    border-radius: 0px; 
    padding: 3px; 
    width: 100%; 

.form h1{ 
    font-size: 40px; 
    color: #607A75; 
    padding: 0px; 
    margin: 0px; 
    margin-bottom: 10px; 
    border-bottom-style: dotted; 
    border-bottom-color: #CCCCCC; 
    border-bottom-width: 2px; 
    border-radius: 0px; 
    background-color: #FFFFFF; 

.intro{ 
    margin-bottom: 10px; 

.clear{ 
    clear: both; 

.form textarea{ 
    height: 50px; 
    width: 100%; 

.form input[type=submit]{ 
    width: 100%; 
    background-color: #CCCCCC; 
    color: #222222; 

.field{ 
    margin-bottom: 5px; 

</style>
</head>
 
<body>
<form id="form" class="form" name="form" action="/registro.php" method="post" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
    <h1>Registro</h1>
    <div class="content">
        <div class="intro"></div>
        <div id="section0" >
            <div class="field"><label for="Usuario">Usuario</label><input type="text" id="Usuario" name="Usuario" required></div>
            <div class="field"><label for="Clave">Clave</label><input type="password" id="Clave" name="Clave" required></div>
            <div class="field"><input type="submit" id="Enviar" name="Enviar"></div>
        </div>
    </div>
</form>
 
 
<hr />
 
 
<form id="form" class="form" name="form" action="/entrar.php" method="post" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
    <h1>Ingresar</h1>
    <div class="content">
        <div class="intro"></div>
        <div id="section0" >
            <div class="field"><label for="Usuario">Usuario</label><input type="text" id="Usuario" name="Usuario" required></div>
            <div class="field"><label for="Clave">Clave</label><input type="password" id="Clave" name="Clave" required></div>
            <div class="field"><input type="submit" id="Enviar" name="Enviar"></div>
        </div>
    </div>
</form>
</body>
</html>


Como verán en el código anterior tenemos dos formularios, uno para registrarnos y el otro para ingresar, a su ves estos formularios envían sus daros a los archivos registro.php y entrar.php.

Creando el Archivo de Registro:

El archivo registro.php cumplirá las siguientes funciones:

Comprobar si el usuario ya existe y si es así prohibir el registro
si el usuario no existe crear en archivo .txt
Codificar la clave ingresada y escribirla en el archivo .txt

Código:


<?php
$usuario 
$_POST['Usuario'];
$clave $_POST['Clave'];
$usuarioreg 'user'.$usuario.'.txt';
 
if (
file_exists($usuarioreg)) {
    echo 
'El Usuario ingresado ya esta registrado';
} else {
    
$md5cod md5($clave);
    
$registro =  fopen($usuarioreg,'w');
    
fwrite($registro,$md5cod);
    
fclose($registro);
    echo 
'El Usuario se '.$usuario.' registro correctamente';
}
?>


Creando el archivo de entrada:

El archivo entrar.php cumplirá las siguientes funciones:

Comprobar si el usuario existe y si no es así comunicarles que no existe.
Si el usuario existe abrir el archivo .txt de ese usuario
Codificar la contraseña ingresada en el formulario y compararla con la que esta en el .txt
si la contraseña es correcta mostrar un mensaje de entrada exitosa
si la contraseña es errónea mostrar un mensaje de error.

Código:


<?php
$usuario 
$_POST['Usuario'];
$clave $_POST['Clave'];
$usuarioreg 'user'.$usuario.'.txt';
if (
file_exists($usuarioreg)) {
    
$md5cod md5($clave);
    
$cargaruser fopen($usuarioreg"r");
    
$clavecod fread($cargaruserfilesize($usuarioreg));
    if (
md5($clave) === $clavecod) {
    echo 
'La Contraseña es correcta';
    } else {
    echo 
'La Contraseña es incorrecta';
    }
    
fclose($cargaruser);
} else {
    echo 
'El Usuario ingresado no existe';
}
?>


Como verán es muy simple y sin duda sumamente útil, espero que les guste este tutorial
0No comments yet