Sistema sencillo de login en PHP
En esta entrada veremos como crear un sistema de login el cual pida una contraseña, a cada pagina que especifiquemos en PHP y recordar contraseña por medio de una cookie. Con cifrado md5

Pues basicamente este script se incorpora en 4 partes:
- Sistema de inicio de sesion (llamado login de ahora en adelante)
- Sistema de cerrar sesion (llamado logout de ahora en adelante)
- Creador de Cookie
- Pagina que necesite que estes login
Teoria:
En pocas palabras se supone que uno va a escribir una contraseña en la pagina de login, despues de eso te va a redirigir a la pagina que necesite contraseña, si no teines contraseña te regresara al login, y también una pagina destinada para logout.
Login.php
Basicamente lo que se va a hacer aqui es una comprobación de variables, comparar la contraseña establecida (y encriptada automaticamente en md5) con lo que sea que haya escrito el usuario (tambien codificado en md5), y en caso de ser iguales crear la etiqueta de la cookie que le permite acceder a test.php o en caso contrario mandar una advertencia mediante javascript.
<?php
session_start(); //crea la cookie
if(isset($_POST['login']))
{
$completa = $_POST['pass'];
$comparar = md5 ($completa); //codifica lo escrito en md5
$clave = 'kernelerror'; //Reemplazar por tu contraseña
$final = md5 ( $clave ); //la codifica md5
if ( $comparar == $final ) {
$_SESSION['listo'] = true;
header('Location: test.php'); //redirige a la pagina despues de inicias sesion
exit;
} else
{
?>
<script type="text/javascript">
<!--
alert('Contraseña Incorrecta')
//-->
</script>
<?php
}
}
//continua en el siguiente bloque?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> Identificate </title> </head> <body> <center> Palabra Clave:<br> <form method="post" action=""> <input type="password" name="pass"> <input type="submit" name="login" value="INICIAR SESION"> </form> </center> </body> </html>
Cookie.php
Aqui lo que se hace es ver si existe la cookie creada en el login y si es positivo continuar, o en caso negativo regresar a una pagina deseada.
<?php
session_start();
if (!isset($_SESSION['listo'])
|| $_SESSION['listo'] !== true) {
header('Location: login.php'); //Redirige al inicio de sesion en caso de que no tengas la cookie
exit;
}
?>
Test.php
<?php session_start(); require 'cookie.php'; //continua en el siguiente bloque?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html> <head> <title>Estas dentro</title> </head> <body> <h1> SI puedes ver esto, lograste iniciar sesion</h1> <br /> <a href="logout.php">Cerrar sesion</a><a href="http://kernelerror.net">Regresar a la entrada</a>
Este es un pequeño archivo para comprobar que si funciona el login (ver que sea requerido el cookie).
Logout.php
<?php
session_start();
if (isset($_SESSION['listo'])) {
unset($_SESSION['listo']);
}
header('Location: login.php');
exit;
?>
Con este archivo desactivas la cookie asi forzando a volver a ingresar los datos si quieres ver el contenido con cookie.php incluido.
Acontinuacion el ejemplo (La password es kernelerror)
Posts Relacionados
- Creando un CAPTCHA Pués debido a mi entrada anterior, me gustaria dar a...
- Limitar el intento de inicios de sesión Hoy en día con tantas facilidades para realizar ataques de...
- Upload Form en PHP En esta entrada se explicará como hacer un form (ya...



Por demas decir que esta super util.. muy bueno bacho.
UsandoSi.. cabe mencionar que este sistema no pide contraseñas a una base mysql por lo que es dificil para multiusuarios…
:D ya viste el nuevo sistema de respuesta en comentarios?
UsandoSi, esta fino bacho :D
Usandobuen ejemplo.
solo un detalle con lode login y logout: con Opera al ingresar al sitio y cerrar la sesion regresando a la pagina para introducir la contraseña, al apretar el boton “hacia atras del navegador” es posible ver el contenido “secreto”.
imagino que opera recarga la pagina con su cache. aun asi es un defecto con el cual aun estoy lidiando.
me agradaria saber si es que eso tiene alguna solucion.
Usandosaludos!!
Pues en efecto, este error se debe a que pide el contenido desde la Cache, siento decirte pero este contenido es para contenido de referencia, por lo que no es su proposito en todo caso ser un sistema de login “real”, sino explicar el funcionamiento de las cookies, y como se pueden crear sistemas con estas.
Lo que sucede al dar boton “atras” en cualquier anvegador loq ue ahce esque también recrea la cookie, por lo que no es problema del programa ni del navegador, solo se trata de una función extra para ahorrar tiempo…
Porfavor dime si este error te sucede en el ejemplo http://kernelerror.net/editables/login/test.php
Usando