Código PHP:
<?
if (!isset($usuario)) {
/* mostrar aca un formulario para que cargue usuario y password */
?>
<FORM ..............
</FORM>
<?
} else {
/* aca pone codigo para validar usuario y password (ej: buscar en una base de datos y ver si todo coincide) */
/* Si coincide, generamos la hash para validar al usuario en todas las paginas, sino volves a mostrar este form con un mensaje de error */
$hash = time().'#'.md5(time().$hash_secret);
## y haces un redirect a la pagina que corresponda
};
?>
Ahora lo que tenes que hacer es pasar ese hash en cada link que hagas como un parametro más.
Depues en cada pagina, para validar el usuario:
Código PHP:
<?
## validar usuario
if (isset($hash)) {
## divido el hash para controlarlo
$hash = explode('#',$hash);
if ($hash[1] == md5($hash[0].$hash_secret) {
## por aca entra si el hash esta ok
## aca podes ver si ya paso mas de media hora por ejemplo, para deslogearlo automaticamente
if ( (time()-1800) > $hash[0]) {
$logged = false;
} else {
$logged = true;
# y actualizas la hash
$hash = time().'#'.md5(time().$hash_secret);
};
} else {
## alguien quiere cagarte con la cookie. Pone un mensaje de que logeaste su ip y avisaste al administrador, para por lo menos hacerlo considerar el tratar de volver a jugar con la url.
$logged = false;
};
} else {
$logged = false
};
if ($logged) {
## OK, codigo de la pagina para usuario logeado
} else {
## no esta logeado, podes hacer un redirect al login.php
};
?>
Podes poner esto como una funcion e incluirla en cada php.
Espero que ayude.
Saludos!!
PD: es recomendable que cada tanto modifiques lavariable $hash_secret, por cuestiones de seguridad.
No hay comentarios:
Publicar un comentario