Foros del Web » Programando para Internet » PHP »

se puede hacer esto con las sesiones??

Estas en el tema de se puede hacer esto con las sesiones?? en el foro de PHP en Foros del Web. hola chicos!!! estoy haciendo otro ejemplo de sesiones sencillo, pero no estoy segura de que sea lo correcto hacer esto.....: Código PHP: archivo1.php <?php session_start ...
  #1 (permalink)  
Antiguo 29/03/2007, 16:10
Avatar de lilith_sr  
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 113
Antigüedad: 17 años, 3 meses
Puntos: 2
se puede hacer esto con las sesiones??

hola chicos!!!

estoy haciendo otro ejemplo de sesiones sencillo, pero no estoy segura de que sea lo correcto hacer esto.....:

Código PHP:
archivo1.php
<?php
session_start
();
if(isset(
$_POST['username']) && isset ($_POST['password']))
{
    
// variables recibidas del formulario para logear
    
$username =$_POST['username'];
    
$password =$_POST['password'];
    
    
$coneccion abrir_coneccion();
    
    
$query = ("select * from usuarios where username ='$username' and password = '$password'");
    
    
$queryquery_db($query,$coneccion);
    
    if(
$num_reg mysql_fetch_array($query))  
    {    
        
$cargo $num_reg['cargo'];
        if(
$cargo=='administrador')
        
$_SESSION['valida']=$username;
        elseif(
$cargo=='consultor')
        
$_SESSION['valida']=$username;
        elseif(
$cargo=='capturista')
        
$_SESSION['valida']=$username;
                
    }
    
mysql_close($coneccion);
}


if(isset(
$_SESSION['valida']))
{
    
//me deja entrar al sistema    
}
else
{
// no me deja entrar ala sistema

}
?>
y el otro archivo es:
Código PHP:
<?php 
session_start
();

if(isset(
$_SESSION['valida']))
{
//entra a la pagina

}
else
{
//Acceso denegado
?>
y bueno en teoria segun yo eso deberia de funcionar....pero de todos modos con las condiciones de que si el cargo es administrador o capturista o consultor.....al administrador lo deja entrar a las paginas del capturista y del consultor, pero se supone que el administrador no debe tener acceso a esas paginas..........que puedo hacer al codigo....o en que esta mal.....o se pierde la sesion......o que pasa?
  #2 (permalink)  
Antiguo 29/03/2007, 16:29
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: se puede hacer esto con las sesiones??

Me parece que en esta parte :

Código PHP:
if(isset($_SESSION['valida'])) 

//entra a la pagina 


Te faltaria comparar

Código PHP:
if(isset($_SESSION['valida']) && $_SESSION['valida'] != "administrador"

//entra a la pagina 


else{
  echo  
"Sin permiso para ver la pagina";

Saludillos.
  #3 (permalink)  
Antiguo 29/03/2007, 16:30
Avatar de lilith_sr  
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 113
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: se puede hacer esto con las sesiones??

Gracias lo probare de inmediato!!!
  #4 (permalink)  
Antiguo 29/03/2007, 16:43
Avatar de lilith_sr  
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 113
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: se puede hacer esto con las sesiones??

oye y que tan seguro puede ser eso?.....o es mas recomendable hacerlo diferente?
  #5 (permalink)  
Antiguo 07/07/2007, 09:07
 
Fecha de Ingreso: junio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: se puede hacer esto con las sesiones??

Hola,

La verdad es que nunca me ha gustado comparar claves contra claves de forma cruda.

No soy ducho en el área de seguridad pero me atrevería a hacerte algunas recomendaciones:
  • No guardes las claves sin encriptar. Guarda el MD5 o el SHA1 (tabla.clave = md5($clave_limpia);) en lugar de la clave... es mucho mas seguro. Y al verificar, comparas sus MD5: if (tabla.clave = md5($CampoClave) {)
  • Aún mejor es si desde el formulario envías de una vez el MD5 calculándolo con JavaScript... así la clave real nunca viajará ni podrá ser interceptada (en el peor de los casos, interceptarán el MD5 o el SHA1, algoritmos tan difíciles de echar para atrás que se consideran irreversibles). Lo malo de esto es que el cliente web debe tener habilitado JavaScript.
  • Por último, bueno, lo típico: Antes de usar directamente lo que recibas por el $_POST, pásale una comprobación contra inyección de código.
Espero te sirva.
  #6 (permalink)  
Antiguo 07/07/2007, 13:01
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Re: se puede hacer esto con las sesiones??

Para lo de la seguridad asegurate de que el servidor tiene activadas las magic_cuotes.
De lo contrario creo que habría que hacerlo con alguna funcion.

Las magic cuotes protegen el sistema frente a ataques de inyección sql. Bastante frecuentes en estos casos... Su función es la de invalidar ciertos caracteres tipo / ' '' " % ...etc. generalmente usados en los ataques de inyeccion sql.

Nunca se recomienda hacer un select *, puesto que si no necesitas todas las columnas es tonteria, además de que de ese modo dejarías al hacker entrar en varias columnas y poder armar un bollete...

Por lo demás creo que está bien.
Suerte... yo también ando aprendiendo sesiones ahora... :(
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:42.