He realizado un sistema de administración que trabaja con sesiones y cookies. Ahora las cookies son dos y las uso para poder guardar el sesionid asignado a ese usuario (esta contenido en un campo de la Base de Datos) y el tipo de usuario, pues mi sistema de administración cuenta con los siguientes niveles de seguridad:
0. Administrador máximo del sitio
1. Administrador medio
2. Webmaster
3. Profesor
4. Alumno
para luego cuando el usuario acceda al Sistema de Administración (solo los usuarios del 0 al 3) saber que permisos debo dar. Ahora las cookies las creo al chequear los datos del usuario de la siguente forma:
Código PHP:
require("functions.php");
server();
nocache();
$pass = md5($_POST['passwd']);
$query = mysql_query("SELECT * FROM usuario WHERE login='".$_POST['user']."' AND passwdenc='".$pass."' AND activo=1");
$resultado = mysql_fetch_array($query);
if (isset($user) && ($user == $resultado['login']) && isset($passwd) && ($pass==$resultado['passwdenc'])){
session_start();
$_SESSION['adminlogin'] = md5($user);
$_SESSION['adminpasswd'] = md5($passwd);
if($resultado['session']==""){
$sess = session_id();
mysql_query("UPDATE usuario SET session='".$sess."' WHERE login='".$_POST['user']."' AND passwdenc='".$pass."' AND activo=1");
}
if($resultado['tipo']=="0"){
redirect("Departamento de Marxismo","1","indexadmin.php?accion=entrar&tipo=0&ses=".$resultado['session']."","Entrando al Sistema de Administración ...<br>Espere unos segundos para ser redireccionado");
}elseif($resultado['tipo']=="1"){
redirect("Departamento de Marxismo","1","indexadmin.php?accion=entrar&tipo=1&ses=".$resultado['session']."","Entrando al Sistema de Administración ...<br>Espere unos segundos para ser redireccionado");
}elseif($resultado['tipo']=="2"){
redirect("Departamento de Marxismo","1","indexadmin.php?accion=entrar&tipo=2&ses=".$resultado['session']."","Entrando al Sistema de Administración ...<br>Espere unos segundos para ser redireccionado");
}elseif($resultado['tipo']=="3"){
redirect("Departamento de Marxismo","1","indexadmin.php?accion=entrar&tipo=3&ses=".$resultado['session']."","Entrando al Sistema de Administración ...<br>Espere unos segundos para ser redireccionado");
}elseif($resultado['tipo']=="4"){
redirect("Departamento de Marxismo","1","indexadmin.php?accion=entrar&tipo=4&ses=".$resultado['session']."","Entrando al Sistema de Administración ...<br>Espere unos segundos para ser redireccionado");
}
}else{
redirect("Departamento de Marxismo","3","administrador.php?accion=entrar&error=errordatos","No está autorizado a entrar a esta página.<br>Por favor espere unos segundos.");
}
Código PHP:
require("functions.php");
server();
session_start();
checaadminsess();
nocache();
$query = mysql_query($query);
setcookie("sessionid",$_GET['ses']);
setcookie("usertype",$_GET['tipo']);
Código PHP:
asignaturasadmin.php?action=admin&type=<? echo $HTTP_COOKIE_VARS['usertype']; ?>&ses=<?php echo $HTTP_COOKIE_VARS['sessionid']; ?>
uuariosadmin.php?action=admin&type=<? echo $HTTP_COOKIE_VARS['usertype']; ?>&ses=<?php echo $HTTP_COOKIE_VARS['sessionid']; ?>"
debo dar F5 o recargar mi página para que esas variables que estan en los vínculos que me conducen a otras páginas del sistema de administración tomen valores, es decir, sino le hago nada el vínculo es este: eventosadmin.php?action=admin&type=&ses=, sin embargo si doy F5 se ponen así: eventosadmin.php?action=admin&type=0&ses=4a1a09a3c 643e2846ebd8da0b86f7cab
que hago? me dan alguna solución? porque en verdad ya no se que hacer
Salu2
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)