Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 24-04-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
  1. Crea una tabla usuario en tu base de datos con por lo menos tres campos:

    Código:
    usuario
    +----------+-------------------------+
    | campo    | descripción             |
    +----------+-------------------------+
    | id       | llave primaria          |
    +----------+-------------------------+
    | usuario  | nombre de usuario       |
    +----------+-------------------------+
    | password | contraseña (encriptada) |
    +----------+-------------------------+
  2. Crea una página para iniciar sesión con un formulario para capturar el usuario y su contraseña:

    Código:
    +- Inicio de sesión ------------+   method='post'
    |                               |   action='sesion.inicio.php'
    | Usuario    [   usuario      ] |
    |                               |
    | Contraseña [   password     ] |
    |                               |
    +-------------------------------+
    
    [Enviar datos]
  3. Crea un script sesion.inicio.php que reciba los datos del formulario. En este script:

    1. Buscas al usuario en la tabla usuario
    2. Encriptas la contraseña que te dan y la comparas con la que está guardada en la tabla (que debe tener el mismo tipo de encriptación)

    Un esbozo del script:

    Código PHP:
    <?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        
    // Tomamos los datos del formulario
        
    $usuario = isset($_SERVER['usuario']) ? $_SERVER['usuario'] : '';
        
    $password = isset($_SERVER['password']) ? $_SERVER['password'] : '';

        
    // Evitamos inyección SQL
        
    if (!get_magic_quotes_gpc())
        {
            
    $usuario mysql_real_escape_string($usuario);
        }

        
    // Conectamos con el servidor
        
    mysql_connect('host''user''password') or
            die(
    'No ha sido posible conectarse al servidor');

        
    mysql_select_db('base de datos') or
            die(
    'No ha sido posible seleccionar la base de datos');

        
    // Buscamos al usuario
        
    $filas mysql_query("select * from usuario where usuario = '$usuario'") or
            die(
    'Ha habido un problema al enviar una consulta a la base de datos');

        if (!
    $fila mysql_fetch_assoc($filas))
        {
            die(
    'Nombre de usuario o contraseña incorrecta');
        }

        
    // Comparamos las contraseñas (usamos el algoritmo sha1)
        
    if (sha1($password) != $fila['password'])
        {
            die(
    'Nombre de usuario o contraseña incorrecta');
        }

        
    // Iniciamos sesión PHP y guardamos el nombre de usuario
        
    session_start();
        
    $_SESSION['usuario'] = $usuario;

        
    // Vemos si hay que redirigir a alguna página o mandamos a alguna por defecto
        
    $destino =
            isset(
    $_SESSION['destino']) ? $_SESSION['destino'] : 'default.php';
        unset(
    $_SESSION['destino']);

        
    header("location: $destino");
    }
    ?>
  4. Creas un script sesion.validar.php que deberás incluir (con require o require_once) en cada página a la que quieras restringir el acceso.

    Código PHP:
    <?php
    // Iniciamos sesión PHP
    session_start();

    // Si no hay un usuario registrado, mandamos a la página de inicio
    if (!isset($_SESSION['usuario']))
    {
        
    // Guardamos la dirección de la página actual para saber a donde redirigir
        // una vez que se inicie la sesión en el sistema.
        
    $_SESSION['destino'] = $_SERVER['PHP_SELF'];

        
    header("location: inicio.php");
    }
    ?>

Esta es sólo una idea general y muy básica que deberás adaptar a tus necesidades.

// Saludos

Última edición por roman fecha: 24-04-2008 a las 19:41:13.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Seguridad de un sistema cjmatador Seguridad 26 10-05-2008 17:00:15
Corelab ...Formulario de Acceso al sistema ... Kenobi Varios 2 20-04-2007 23:47:57
Conexión de un sistema en una VPN tannyk Varios 1 04-06-2005 01:01:22
Como validar Acceso al sistema alcides OOP 14 04-12-2004 03:26:44
errores de sistema aitken Varios 6 13-02-2004 20:33:38


La franja horaria es GMT +2. Ahora son las 21:07:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi