![Nerd](http://static.forosdelweb.com/fdwtheme/images/smilies/lentes.png)
| |||
Respuesta: al autentificarme que no me deje ver las demás sesiones Cada sección de tu sistema debe tener un id, y cada usuario debe tener una lista de id's o llaves de las secciones a las que puede entrar, de modo que cuando un usuario quiera entrar a cierta sección, dentro de dicha sección se verifique si el usuario tiene o no permiso para entrar. Como consejo, al momento de hacer el login guarda en una variable de sesión las secciones a las que puede entrar el usuario. |
| ||||
Respuesta: al autentificarme que no me deje ver las demás sesiones tengo este codigo que es la autentificacion.php a donde manda mi formulario login <?php include "conexion.php"; if (isset($_POST["pass"])) { $user = $_POST["user"]; $pass = $_POST["pass"]; if($user==NULL|$pass==NULL) { echo "<script language=\"JavaScript\">"; echo "alert(\"Debes de llenar todos los campos.\");"; echo("location.href='login.php'"); echo "</script>"; } } if(isset($_POST['user']) && $_POST['pass']){ $user = $_POST['user']; $pass = $_POST['pass']; $query = " select `user` , `pass` , LEFT( `nom_dep` , 2 ) as dep FROM `usuarios` WHERE `user`='".mysql_real_escape_string($user)."' AND `pass`='".mysql_real_escape_string($pass)."'"; $result = mysql_query($query) or die("Imposible verificar al usuario por el error: " . mysql_error()); $dato = mysql_fetch_array($result); if(mysql_num_rows($result) == 1){ //usuario y contraseña válidos //session_name("loginusuario"); //asigno un nombre a la sesión para poder guardar diferentes datos session_start(); //session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0); //cambiamos la duración a la cookie de la sesión // inicio la sesión $_SESSION["autentificado"]= "SI"; $_SESSION["nombre"]= $dato['user']; $_SESSION["dep"]= $dato['dep']; //defino la sesión que demuestra que el usuario está autorizado $_SESSION["ultimoacceso"]= date("Y-n-j H:i:s"); //defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss header ("Location: acceso.php"); }else { //si no existe le mando otra vez a la portada header("Location: login.php?errorusuario=si"); } } ?> acceso.php <?php include("si_acceso.php");?> <?php if ($_SESSION["dep"] == "Al") { //si no existe, va a la página de autenticacion header("Location: Alumbrado_.php"); } else { if ($_SESSION["dep"] == "Ba"){ header("Location: Bacheo_.php"); } else{ if($_SESSION["dep"] == "Li"){ header("Location: Limpia_.php"); } else{ if($_SESSION["dep"] == "Pa"){ header("Location: Parques_.php"); } else{ if($_SESSION["dep"] == "At"){ header("Location: AtencionEscuelas_.php"); } else{ if($_SESSION["dep"] == "Se"){ header("Location: Seguridad_.php"); } else{ if($_SESSION["dep"] == "Co"){ header("Location: Contraloria_.php"); } else{ if($_SESSION["dep"] == "An"){ header("Location: ControlAnimal_.php"); } else{ if($_SESSION["dep"] == "In"){ header("Location: Informes_.php"); } else{ if($_SESSION["dep"] == "Me"){ header("Location: MedioAmbiente_.php"); } else{ if($_SESSION["dep"] == "Fu"){ header("Location: Fugas_.php"); } else{ if($_SESSION["dep"] == "Go"){ header("Location: GobiernoCom_.php"); } else{ if($_SESSION["dep"] == "DI"){ header("Location: Dif_.php"); } } } } } } } } } } } } } ?> |
| |||
Respuesta: al autentificarme que no me deje ver las demás sesiones Cita: Ajá.... ¿comprendiste el mecanismo de control que te sugerí? ¿tienes dudas para implementarlo? tengo este codigo que es la autentificacion.php a donde manda mi formulario login En cada sección de tu web debes validar si el usuario tiene o no permiso de acceder, no sólo redirigirlo según sus permisos, que por cierto deberías cambiar tanto if-else por switch |
Etiquetas: |