Article View: chile.comp.programacion
Article #2119Re: Ayuda sobre PHP
From: Jos� Miguel Santib��ez
Date: Thu, 23 Mar 2006 18:57
Date: Thu, 23 Mar 2006 18:57
64 lines
3525 bytes
3525 bytes
En el cap�tulo anterior (news:dvui0k$tp6$1@news.nivel5.cl), "Kpulm"
<mail@mail.com> dijo:
> Hola amigos, les quiero pedir a ver si me pueden orientar con un
> problemita que tengo.
> Hice una base de datos en PHP, para ingresar a esta bdd se debe
> ingresar un nombre de usuario y contrase�a (que se verifican que
> existan registradas), y luego se ingresa al men� principal, teniendo
> acceso a todas las opciones (ingresar, eliminar, listar, estad�stica),
> el problema es el siguiente .. de seguridad poco tiene porque si por
> ejemplo ingreso el link exacto de la opcion eliminar, entro sin
> siquiera necesitar el nombre de usuario y contrase�a.
> Me hablaron que se podia manejar eso por medio de cookies, pero ahi no
> cacho mucho, por no decir nada ... alguien me podr�a orientar por
> favor como hacer para que la bdd quede realmente segura. No se si
> existe otra opcion adem�s del manejo de las cookies.
>
En PHP hay dos maneras de dejar una "pista" de que el usuario ya se valido.
La m�s simple es la de las sesiones, que funciona de la siguiente forma:
Necesitas un archivo, llam�moslo "login.html" donde est� el formulario para
el ingreso al sistema (donde el usuario digita usuario y contrase�a)
En tu archivo de validaci�n (el que es llamado por "login.html", llam�moslo
"login.php") colocas al inicio (antes que nada):
<?php
session_start();
?>
Y luego que revisas que el nombre es v�lido en la base de datos y que la
contrase�a funciona, colocas:
$_SESSION["validado"] = 1;
(puedes agregar informaci�n adicional �til, como el identificador del
usuario, o su nombre, pero eso ya depende de ti).
Si tienes un archivo de salida (llam�moslo: "salida.php"), para que el
usuario deje el sistema, le colocas al inicio:
<?php
session_start();
unset($_SESSION["validado"]);
?>
Luego necesitas otro archivo: llam�moslo "validar.php" con el siguiente
c�digo:
<?php
session_start();
if (!isset($_SESSION["validado"])) {
header('location: login.php');
exit;
}
?>
En todos los dem�s archivos .php colocas el siguiente c�digo al inicio:
<?php require_once('validar.php'); ?>
Y con eso se va a verificar que el usuario est� validado y si no es as�, se
lo enviar� a la interfaz de ingreso (login.html).
eso...
--
Jose M. Santiba�ez A.
<jms@nivel5.cl>
<http://caos.cl/jms>
Technical Details
Message-ID:
<Xns978F8EB3AACC2jmsnews@200.27.221.71>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mailReferences:
<dvui0k$tp6$1@news.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,283ac20118ab3ff0
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion
Subject: Re: Ayuda sobre PHP
From: "Jos� Miguel Santib��ez" <jms.nospam@nivel5.cl>
References: <dvui0k$tp6$1@news.nivel5.cl>
Organization: Caos Consultores
Message-ID: <Xns978F8EB3AACC2jmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
NNTP-Posting-Host: 244-39-246-201.adsl.terra.cl
X-Original-NNTP-Posting-Host: 244-39-246-201.adsl.terra.cl
Date: 23 Mar 2006 14:57:33 -0400
X-Trace: news.vcd.cl!not-for-mail 1143140253 201.246.39.244 (23 Mar 2006 14:57:33 -0400)
X-Original-Trace: 23 Mar 2006 14:57:33 -0400, 244-39-246-201.adsl.terra.cl
Lines: 64
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail