hackers! Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
17 de Marzo de 2010, 06:50:45
Inicio Buscar Ayuda Ingresar Registrarse
Noticias: ¿Quieres usar GNU/linux y no sabes como? Entonces haz click > AQUÍ <
Gracias gente :
Ecuador!Guatemala!!UruguayBrasilRepublica DominicanaBolivia *USAColombia!ESPAÑA!Venezuela!Chile **El Peru!ArgentinaMexico
+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Desarrollo Web
| | |-+  PHP (Moderadores: carlmycol, shevchenko)
| | | |-+  Sistema de logeo simple en PHP
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Sistema de logeo simple en PHP  (Leído 576 veces)
Que buscas?..
shevchenko
Una vez un ordenador me venció jugando al ajedrez, pero no me opuso resistencia cuando pasamos al kick boxing
Moderador
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1,191


Si la vida no te sonríe… ¡Hazle cosquillas!


Ver Perfil WWW
« : 25 de Mayo de 2009, 02:46:05 »

En este artículo haremos un sistema de logeo simple que iremos mejorando en artículos posteriores para lograr un sistema muy seguro.

Utilizaremos sesiones, sessions en inglés, para mantener al usuario “logeado” mientras navega por nuestra web ya sea en páginas de acceso restringido o no.

Nota: explicaré mínimamente el uso de sesiones pero no entraré en detalles, sí en un futuro artículo.

Para iniciar una sesión en PHP se utiliza la función “session_start()”, ejemplo

<?php

// Inicialización de la sesión.

session_start();

?>

De esta forma se le asignará a cada usuario un “id” único que es guardado en el navegador. Para imprimir el id de la sessión se utiliza “session_id()”, ejemplo

<?php

// Inicialización de la sesión.

session_start();

echo session_id();

?>

Bien, ya tenemos la sesión inicializada, este código debe estar en todas las páginas del site, por lo que podría estar al comienzo en un archivo config.php por ejemplo incluido en todos los demás archivos.

Pasemos ahora al script de logeo.

Ya tendríamos que tener echo el formulario que envía por ejemplo el usuario y la contraseña al script, ejemplo:

<form action=”login_script.php” method=”post”>

<p>Usuario: <input type=”text” name=”usuario” /></p>

<p>Contrase&ntilde;a: <input type=”password” name=”password” /></p>

</form>

En el archivo “login_script.php” primeramente deberíamos comprobar que los datos que vienen del formulario sean los correctos:

<?php

// Incluimos el archivo config.php donde esta inicializa la sesión.

include_once (“config.php”);

// Primeros comprobamos el usuario.

if ($_POST[‘usuario’] == “matias” && $_POST[‘password’] == “123456”)

{
// Si es correcto comprobamos la contraseña.

 // Si ambos datos son correctos guardamos estos datos en la sessión.

 $_SESSION[‘logeado’] = “SI”;

 $_SESSION[‘usuario’] = “matias”;

 // Redijimos a la página correcta.

 header (“Location: zona_restringida.ph p”);

}

else

{

// Si alguno de los datos ingresados son incorrectos redirigimos a la página de

// error o de nuevo al formulario de ingreso.

header (“Location: login.php”);

}

?>

Bien, en este código se ve lo siguiente, primeramente incluimos el archivo config.php donde hemos inicializado la sesión. Luego una simple forma de verificar que los datos enviados desde el formulario por “POST” sean lo que realmente queremos que sean.

Si los datos son correctos redijimos a la página donde se encuentra material solo para usuarios logeados, de lo contrario a la página donde se encuentra el formulario de logeo para que lo intente nuevamente.

Para guardar un dato en la sesión, como vimos utilizamos $_SESSION[‘nombre_de_la_sesion’] = “Valor”.

Ahora simplemente en el archivo donde hay acceso restringido, “zona_restringida.php” podemos preguntar si el valor guardado en la session “logeado” es igual a “SI”.

<?php

// Incluimos el archivo config.php donde esta inicializa la sesión.

incluye_once (“config.php”);

// Comprobamos que el valor de la sesion “logeado” es igual a “SI”.

If ($_SESSION[‘logeado’] != “SI”)

{

 // Si el valor en logeado es “distinto” a “SI”

 // Redigimos a login.php para que vuelva a entrar.

 header (“Location: login.php”);

 // Escapamos para que no muestre más nada.

 exit();

}

// Si llegamos aquí es por realmente el valor de la sesión “logeado” es “SI”

// Imprimimos el valor de la sesión que contiene el nombre del usuario.

echo “Hola “ . $_SESSION[‘usuario’];

?>

Podemos utilizar este fragmento código en todas las páginas donde queramos que para ser visualizadas el usuario deba estar logeado.

Bueno, hasta aquí el primer artículo con una forma simple de login. En el próximo utilizaremos base de datos para que cada usuario tenga un nombre de usuario y contraseña diferentes.


Autor: Matías Hernán Piuma
http://www.matiashpiuma.com.ar/
En línea

Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC hacker descargas gratis
Ranking-Hits