¿Supiste lo que acaba de lanzar LagriHost? Sí, como lo estabas esperando, ahora vendemos Web Hosting y Dominios. Conoce más :)


Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
PHP: Registro y Logeo en MD5 sin base de datos
#1
0
[Imagen: sistema-de-registro-en-md5.png?w=529&h=245]

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:
Código PHP:
<!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-width100%; 
    
min-width25%; 
    
border-width2px
    
border-color#CCCCCC; 
    
border-radius4px
    
border-stylesolid
    
color#222222; 
    
font-size14px
    
margin0px
    
background-color#FFFFFF; 
    
padding20px

.
content
    
margin0px

.
form label
    
color#222222; 
    
font-size14px
    
displayblock

.
form input[type=radio], input[type=checkbox]{ 
    
margin10px
    
width13px

.
form div
    
displayblock

.
form inputform textareaform select
    
border-width1px
    
border-stylesolid
    
border-color#666666; 
    
border-radius0px
    
padding3px
    
width100%; 

.
form h1
    
font-size40px
    
color#607A75; 
    
padding0px
    
margin0px
    
margin-bottom10px
    
border-bottom-styledotted
    
border-bottom-color#CCCCCC; 
    
border-bottom-width2px
    
border-radius0px
    
background-color#FFFFFF; 

.
intro
    
margin-bottom10px

.
clear
    
clearboth

.
form textarea
    
height50px
    
width100%; 

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

.
field
    
margin-bottom5px

</
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:
Código PHP:
<?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:
Código PHP:
<?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';
}
?>

#2
0
Muy buen tutorial, gracias por el aporte. Aunque lo ideal es guardar la información de los usuarios en una base de datos y no en archivos de texto.
Nunca consideres el estudio como una obligación, sino como una oportunidad para penetrar en el bello y maravilloso mundo del saber. Albert Einstein

No olvides visitar mi web sobre informática... Bitácora Informática

Una nueva comunidad, un nuevo concepto, te esperamos... Tangaria

#3
0
(24-07-2015, 12:00 AM)Samo30 escribió: Muy buen tutorial, gracias por el aporte. Aunque lo ideal es guardar la información de los usuarios en una base de datos y no en archivos de texto.


Todo sirve Lengua


#4
0
Un buen aporte, esto se refiere como a una serealizacion verdad?



Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Tutorial Pasar base de datos MySQL de un servidor a otro vía SSH Diringax 0 2,242 10-07-2017, 06:15 PM
Último mensaje: Diringax
  Recogiendo los datos enviados a través de un formulario. torgar22 2 2,990 02-12-2015, 11:17 AM
Último mensaje: piinbook
  Mi primera pagina web en PHP torgar22 6 4,491 30-11-2015, 06:19 PM
Último mensaje: piinbook
  Calculadora Básica En PHP torgar22 0 2,188 23-10-2015, 06:36 PM
Último mensaje: torgar22
  Clase php 4 que toma un archivo xml y lo convierte en un array torgar22 0 2,245 22-09-2015, 06:15 PM
Último mensaje: torgar22



Usuarios navegando en este tema:
1 invitado(s)


Forum software by © MyBB Theme © Kevinex & iAndrew 2018