Kernel Error
PHP

Sistema sencillo de login en PHP

23 de Abril del 2009 por b@cHo · 6 Comentarios 

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

lock

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)

  • Twitter
  • Facebook
  • MySpace
  • Google Bookmarks
  • del.icio.us
  • Mixx
  • Digg
  • email

Comentarios

6 Respuestas to “Sistema sencillo de login en PHP”
  1. William William dice:

    uhmm cual es mejor usar COOKIES o SESSIONES???

    Usando Firefox 3.0.16 Firefox 3.0.16 en Windows Server 2003 Windows Server 2003

Comenta algo

Comparte tu opinión... recuerda que puedes usar BBCode!





BBCode Sencillo soportado.  

    Edición Avanzada desactivada.

Kernel Error
97 intentos de ataques detenidos