Pregunta:
Fecha: 14-10-2015 12:15:54
(En Español)
Estaba pensando en que si algo como esto es una buena práctica o si tiene algún problema de seguridad.
Por ejemplo tengo una tabla en una base de datos de donde llamo lo siguiente:
Que tan seguro es hacer el acceso a páginas restringidas de esta forma ?
Votos: 1 - Respuestas: 8 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
RUTA $_SESSION[ ][Resuelta]
Buenas tardes,Estaba pensando en que si algo como esto es una buena práctica o si tiene algún problema de seguridad.
Por ejemplo tengo una tabla en una base de datos de donde llamo lo siguiente:
$link = mysqli_connect("localhost", "user", "pass", "dataBase"); $sql = 'select nombre,apellido,identificacion,cargo,perfil from perfiles where id = 1'; $queryResult = mysqli_fetch_array(mysqli_query($link,$sql)); /* Redirecciona segun el perfil del registrado */ header('Location:/'.$queryResult['perfil'].'/index.php');
Que tan seguro es hacer el acceso a páginas restringidas de esta forma ?
Votos: 1 - Respuestas: 8 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 14-10-2015 17:05:14 Ps en mi opinión es buena práctica.
En cuanto seguridad no sé que tanto pero yo lo uso mucho si ves en páginas como Facebook él usa el nombre o URL como acceso al perfil.
Ya eso depende de lo que vallas a poner. Votos: 0 - Link respuesta -
Fecha: 14-10-2015 21:02:03 hola
Yo lo veo bien...
En cuanto a seguridad creeria que estaría bien aunque esperemos respuestas de quienes tienen mayores conocimientos en el tema.
Saludos Votos: 1 - Link respuesta -
Fecha: 15-10-2015 04:11:28 Edwin
Te dejo un blog, donde explica temas de seguridad, fundamentalmente sobre LOGIN, espero te sirva:
>>> BLOG <<<
Un saludo Votos: 1 - Link respuesta -
Fecha: 15-10-2015 11:47:08 los usuarios ha sido registrado en la base de datos con los siguientes datos
| id | nombres | apellidos | perfil | |--------------------------------------| | 01 | pedro | perez | empleado | | 02 | juan | flores | presidente|
y que al hacer la consulta sql respectiva este acceda al controlador con las vistas y paginas asignadas a este perfil
No se si sea buena practica o tenga fallos en la seguridad o es preferible manejarlo con $_SESSION[] Votos: 1 - Link respuesta -
Fecha: 15-10-2015 12:55:03 Ps con la variable de session son algunas modificables la consulta no tanto.
En mi conocimiento es mejor que hagas la consulta pero tienes que hacerla de forma correcta. Votos: 0 - Link respuesta -
Fecha: 15-10-2015 14:03:15 Edwin
Si vas a darle permisos a aguien para acceder a una zona reservada, lo logico es que te manejes con sesiones:
Este script que te doy como ejemplo es bien basico, sobre session_start(), esta comentado, para tu caso
<?php session_start(); /// Edwin esta funcion debe estar arriba de todo siempre $_SESSION['dni'] = $_POST['dni']; /// Esta es la session de usuario que llevara por todas la paginas o variable si te gusta require('../funciones/conexion.php'); ///Recibe las variables por POST que son enviadas de algun Form que alla creado $dni = $_POST['dni']; $pass = $_POST['pass']; /// Verifica si existen o no las 2 variables de session if ((!isset($_SESSION['dni'])) && (!isset($_SESSION['pass']))) { header("Location: index.php"); /// Si no existe te redirecciona a la pagina index } else { ///Caso contrario - Haces una consulta contra la tabla por ejemplo usuarios $sql = ("SELECT * FROM usuarios WHERE dni = '$dni' AND pass= '$pass' "); $result = $mysqli->query($sql); if ($result->num_rows > 0) { // Si el resultado en > 1 while($row = $result->fetch_assoc()) { $dni = $row['dni']; $passs = $row['pass']; $name = $row['name']; $cuits = $row['cuit']; header('Location: pagina_que_se_te_antoja_poner.php'); /// te envia a donde quieras } } else { header('Location: error.php'); /// Sino hay un error } $mysqli->close(); /// cierro la consulta } ?>
Ver pagina Oficial PHP
Un saludo
Daniel Votos: 2 - Link respuesta -
Fecha: 16-10-2015 04:20:59 Edwin, me gustaría ayudarte pero no comprendo bien tu pregunta, en el título de la misma poner "RUTA $_SESSION[ ]" y en el cuerpo de la misma preguntas por una consulta MySQLi a la base de datos y una redicrección por medio de la función header() utilizando un dato de la base de datos. En ningun momento haces referencia a las sesiones de usuario.... y en la query que ejecutas con MySQLi el dato que debería ser variable (where id = 1) esta fijado en 1, el cual no se si debo suponer que lo tomas de sesión o esta hardcodeado en el código siempre.
Te invito a que edites el título de la pregunta y completes un poco mejor la descripción de la misma así podremos entender un poco mejor la problemática, y en consecuencia obtener una respuesta más acertada.
Saludos! Votos: 2 - Link respuesta -
Fecha: 16-10-2015 10:24:50 El manejo de perfiles para accesar a un sistema es una práctica muy común y aceptada, tienes que generar muy bien tus ACL's para que restrinjas las acciones lo suficiente acorde al perfil. Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión