PDA

Ver la Versión Completa : autentificacion


alachaise
23-08-2004, 21:44:09
como hago un sistema de autentificacion de usuuarios es decir vamos a suponer que ya tu tengas los usuarios registrados en la base de datos

y hagas un formulario de entrada usuario y contrasena y que cuando me pongan el usuario y la contraseña me comprueben si son ciertos y son ciertos entra a cualquier pagina y si no son usuarios registrados que no me accedan a las paginas que yo quiero

roman
23-08-2004, 22:35:39
Pueder usar variables de sesión. Las sesiones te permiten registrar variables que sobreviven al pasar de una página a otra. Por ejemplo, al validar el regsitro de un usuario podrías guardar una variable de sesión:


$registrado = true;

session_start();
session_register('registrado');


En cualquier script que desees permitir acceso sólo si está registrado usarías:


session_start();
if (!session_is_registered('registrado'))
{
die('usted no puede acceder a esta página');
}


El tema es amplio por lo que te recomiendo consultar el uso de sesiones en PHP en la ayuda de PHP.

// Saludos

kayetano
24-08-2004, 08:44:13
Hola

Yo suelo guardar tanto el nombre de usuario como la clave, así en cualquier momento puedo hacer consultas sobre la base de datos asegurandome que esta registrado y además el usuario existe realmente.


...
// Si el usuario existe
if( ... ) {
// $form_usuario y $form_clave son los valores que llegan del formulario.
$usuario = $form_usuario;
$clave = $form_clave;
session_start();
session_register('usuario');
session_register('clave');
}
...


Si prefieres utilizar el metodo que comenta roman te recomiendo una pequeña modificación:

session_start();
if (!session_is_registered('registrado') || !$registrado)
{
die('usted no puede acceder a esta página');
}

roman
24-08-2004, 08:55:25
Hola,

en efecto, el ejemplo que di es demasiado sencillo e igual que kayetano usualmente guardo más datos. De hecho normalmente lo que hago es guardar un arreglo:


$datos['usuario'] = $form_usuario;
$datos['clave'] = $form_clave;

session_register($datos);


y pregunto si dicho arreglo está registrado.

Me queda una duda kayetano: la modificación que propones ¿es realmente necesaria o lo tomas como una medida extra de seguridad?

// Saludos

kayetano
24-08-2004, 09:27:44
Hola

Al igual que indica roman yo lo guardo igual, asin se tiene todo mas recogido :)


Me queda una duda kayetano: la modificación que propones ¿es realmente necesaria o lo tomas como una medida extra de seguridad?

efectivamente es algo extra en seguridad, no es por que este mal, ante la imposibilidad de ver la totalidad del código yo siempre opto por asegurar al máximo.
Además estas variables sueltas pueden ser usadas maliciosamente por algun hacker, por lo que nunca esta de sobra asegurarse del valor de esa variable, cuesta muy poco y nos podemos librar de algun que otro susto.