Nueva pregunta

Pregunta:

Fecha: 14-10-2015 12:15:54 (En Español)

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 ?
Etiquetas: MySQL - PHP - PHP header - PHP MySQLi - Pregunta 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
 
frjcbbae garagebible.com