Foros del Web » Programando para Internet » PHP » Configuración PHP »

Configurar manejo de sesiones

Estas en el tema de Configurar manejo de sesiones en el foro de Configuración PHP en Foros del Web. Hola actualmente tengo un sitio en el cual manejo sesiones; la situación es que esta, se destruye a las 10 minutos y me regresa a ...
  #1 (permalink)  
Antiguo 24/06/2011, 21:51
 
Fecha de Ingreso: junio-2010
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Configurar manejo de sesiones

Hola actualmente tengo un sitio en el cual manejo sesiones; la situación es que esta, se destruye a las 10 minutos y me regresa a la pantalla de logueo. En el servidor tengo configurado todo lo referente a sesión de esta manera:


Session Support = enabled
Registered save handlers = files user sqlite
Registered serializer handlers = php php_binary

session.auto_start = Off
session.bug_compat_42 =On
session.bug_compat_warn= On
session.cache_expire = 180
session.cache_limiter=nocache
session.cookie_domain= no value
session.cookie_httponly = Off
session.cookie_lifetime = 0
session.cookie_path= /
session.cookie_secure= Off
session.entropy_file = no value
session.entropy_length= 0
session.gc_divisor= 100
session.gc_maxlifetime= 8000
session.gc_probability= 1
session.hash_bits_per_character= 4
session.hash_function= 0
session.name= PHPSESSID
session.referer_check= no value
session.save_handler0files
session.save_path= /tmp
session.serialize_handler= php
session.use_cookies= On
session.use_only_cookies= Off
session.use_trans_sid= 0

ya he intentando lo que comentan en estos tema s
http://www.forosdelweb.com/f18/configuracion-php-ini-sesiones-415276/
http://www.forosdelweb.com/f18/caducidad-session-417309/
y poniendo estos valores session.cookie_lifetime = 10800 al igual que en session.gc_maxlifetime = 10800 para que dure 3 horas a lo que logre aumentar solamente a 27 minutos pero requiero que sea de máximo 1 hora el tiempo de la sesion sin que al aumentarle se sature mi sitio y se caiga. Espero y puedan ayudarme .
  #2 (permalink)  
Antiguo 25/06/2011, 06:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Configurar manejo de sesiones

Sinceramente no veo el porque se cae, ya que session.cookie_lifetime es la que indica hasta que tiempo debe durar. ¿Haz tratado usar session_set_cookie_params? Pruébalo usandolo en cada página y antes de session_start esa función, con un valor de 0 solamente es decir
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/06/2011, 13:46
 
Fecha de Ingreso: junio-2010
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Respuesta: Configurar manejo de sesiones

Cita:
Iniciado por abimaelrc Ver Mensaje
Hola ya he probado tu propuesta y solo gane 5 minutos mas de duración de la sesión. Pongo mi código para ver si aquí tengo algún fallo.

<?php

session_set_cookie_params(0);
session_start();

//esta funsion coecta a la base de datos
function Conectarse()
{
if (!($conexion = mysql_connect("localhost","blade","hell2000")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("vlad",$conexion))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $conexion;
}
Conectarse();
if (isset($_SESSION["nombreusuario"]))
{
if ($_SESSION["nombreusuario"]!= "")
{
header("Location:sesionini.php");
exit();
}
}
if (isset($_SESSION["error_login"]))
{
if ($_SESSION["error_login"]=="")
{
$_SESSION["error_login"] = "Acceso";
}
}
else
{
$_SESSION["error_login"] = "Acceso";
}
if (isset($_POST["login"]))
{
if ($_POST["login"]=="si")
{
$usuari=$_POST["user"];
$cuenta=$_POST["pass"];
if (($usuari=="") || ($cuenta==""))
{
$_SESSION["error_login"]="¡Datos en Blanco!";
$url_relativa = "index.php";
header ("Location: http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]).$url_relativa);
}
else
{
$sql = mysql_query("SELECT usuario,pass FROM usuarios WHERE usuario='$usuari'");
$row = mysql_fetch_array($sql);
if($row>0)
{
if($row[1] == $cuenta)
{
$sdate1 = date("d")."/".date("m")."/".date("y");
$stime1 = date("h").":".date("i");
$fein = $sdate1." ".$stime1;

$_SESSION["fechaini"] = $fein;
$_SESSION["nombreusuario"] = $usuari;
$_SESSION["id_usuario"] = $row[0];

$sql2 = mysql_query("SELECT nombre,nivel,usuario,pass FROM usuarios WHERE usuario='$usuari' and pass='$cuenta'");
$row2 = mysql_fetch_array($sql2);

$_SESSION["nombreu"] = $row2[0];
$_SESSION["accesou"] = $row2[1];

$url_relativa = "aplicacion.php";
header ("Location: http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]).$url_relativa);
}else
{
$_SESSION["error_login"]="¡Contraseña Incorrecta!";
$url_relativa="index.php";
header ("Location: http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]).$url_relativa);
}
}
else
{
$_SESSION["error_login"]="¡Nombre de Usuario Incorrecto!";
$url_relativa="index.php";
header ("Location: http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]).$url_relativa);
}
mysql_free_result($sql);
}
mysql_close();
}
else
{
$_SESSION = array();
setcookie(session_name(),"",time()-56000);
session_destroy();
}
}
else
{
$_SESSION = array();
setcookie(session_name(),"",time()-56000);
session_destroy();
}
?>

Y aparte este script para verificar el tipo de usuario que ingresa al sistema la cual incluyo en cada pagina del sitio (altas modificaciones y consultas)

<?php
session_set_cookie_params(0);
session_start();

function verifica_sesion(){
if($_SESSION["nombreusuario"]=="" or ($_SESSION["accesou"]!="AMARillo01" and $_SESSION["accesou"]!="BVERDEcillo02" and $_SESSION["accesou"]!="CAFEcillo03" and $_SESSION["accesou"]!="DAZULcillo04")){
header("Location: index.php");
exit();
}
}
?>

Etiquetas: caducidad, php, php.ini, sesión, sesiones_en_php
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 03:36.