Foros del Web » Programando para Internet » PHP »

Seguridad en variables de sesion...

Estas en el tema de Seguridad en variables de sesion... en el foro de PHP en Foros del Web. Que tan seguras son las variables de sesion? Código PHP: if (!isset( $_SESSION )) {    session_start (); } $MM_authorizedUsers  =  "" ; $MM_donotCheckaccess  =  "true" ; ...
  #1 (permalink)  
Antiguo 08/05/2008, 12:04
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Seguridad en variables de sesion...

Que tan seguras son las variables de sesion?

Código PHP:

if (!isset($_SESSION)) {
  
session_start();
}
$MM_authorizedUsers "";
$MM_donotCheckaccess "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers$strGroups$UserName$UserGroup) { 
  
// For security, start by assuming the visitor is NOT authorized. 
  
$isValid False

  
// When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  
if (!empty($UserName)) { 
    
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    
$arrUsers Explode(","$strUsers); 
    
$arrGroups Explode(","$strGroups); 
    if (
in_array($UserName$arrUsers)) { 
      
$isValid true
    } 
    
// Or, you may restrict access to only certain users based on their username. 
    
if (in_array($UserGroup$arrGroups)) { 
      
$isValid true
    } 
    if ((
$strUsers == "") && true) { 
      
$isValid true
    } 
  } 
  return 
$isValid
}


$MM_restrictGoTo "login.php";
if (!((isset(
$_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers$_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  
$MM_qsChar "?";
  
$MM_referrer $_SERVER['PHP_SELF'];
  if (
strpos($MM_restrictGoTo"?")) $MM_qsChar "&";
  if (isset(
$QUERY_STRING) && strlen($QUERY_STRING) > 0
  
$MM_referrer .= "?" $QUERY_STRING;
  
$MM_restrictGoTo $MM_restrictGoTo$MM_qsChar "accesscheck=" urlencode($MM_referrer);
  
header("Location: "$MM_restrictGoTo); 
  exit;
}


$ID=GetSQLValueString($_SESSION['ID'], "int");

$colname_persona "-1";
if (isset(
$_SESSION['ID'])) {
  
$colname_persona GetSQLValueString($_SESSION['ID'], "int");
}
mysql_select_db($database_area$conexion);
$query_persona sprintf("SELECT User_name FROM usuarios WHERE User_ID = %s "$colname_persona);
$persona mysql_query($query_persona$conexion) or die(mysql_error());
$row_persona mysql_fetch_assoc($persona);
$totalRows_persona mysql_num_rows($persona); 

mirando este codigo que va en todas las paginas restringidas...

es posible que un usuario ponga la variable de sesion ID el Id que quiera y se loguee como cualquier usuario? o solo puede modificar el $_SESSION['ID'] en la pagina de login...?
  #2 (permalink)  
Antiguo 08/05/2008, 12:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Re: Seguridad en variables de sesion...

las sesiones se guardan ((si esta configurado asi)) como una cookie, en el lado del cliente... no se si con eso baste, pero.. alguien "habil" podria modificar tales datos... que estan ENCRIPTADOS
  #3 (permalink)  
Antiguo 08/05/2008, 12:43
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Re: Seguridad en variables de sesion...

si pero yo me refiero a variables de sesion tipo $_SESSION['ID'] no $_COOKIE['ID']
  #4 (permalink)  
Antiguo 08/05/2008, 13:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Re: Seguridad en variables de sesion...

has visto la directiva del PHP.INI

session.use_cookies = 1

me refiero a ke todo el sistema SESSION "podria" usar COOKIES para almacenar la informacion de sesion, pero encriptada.... vale?
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:35.