Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/01/2012, 10:49
Avatar de idmamen
idmamen
 
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema de sesion session_name() y session_regenerate_id()

<-----

}else{
echo $mensaje_fallo." - Errno: CTR001. <br />";
echo "<meta http-equiv='refresh' content='2;URL=accesoes.php?idm=".$cod_pais."'>";
}

}else{
echo $mensaje_fallo." - Errno: USR001. <br />";
echo "<meta http-equiv='refresh' content='2;URL=accesoes.php?idm=".$cod_pais."'>";
}


?>

</body>
</html>


bien y el que accedo desde este control de acceso:



<?php
session_cache_limiter('nocache,private');
session_name("gcepriv");
session_start();
if (!isset($_SESSION['us'])){
$_SESSION['us']="lector";
$_SESSION['cl']="661019roctel";
$_SESSION['pr']="C";
}
$cod_pais = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
if (isset($_GET['idm'])) {
$cod_pais=$_GET["idm"];
}
if ($cod_pais=="es"){
$titulo="ZONA PRIVADA";
$mensaje_contra="Comprobando contraseña.";
$mensaje_user="Comprobando usuario.";
$mensaje_fin="Usuario y contraseña correctos.";
$mensaje_fallo="Acceso denegado, los datos no son correctos, vuelva a intentarlo.";
$alerta="ATENCIÓN. Existe una sesión abierta. La sesión anterior se Cerrará.";
}else{
$titulo="ZONE PRIVÉE";
$mensaje_contra="Vérification de mot de passe.";
$mensaje_user="Vérification de l'utilisateur.";
$mensaje_fin="Signaler un nom d&prime;utilisateur et mot de passe.";
$mensaje_fallo="L'accès est refusé, les détails sont incorrects, s'il vous plaît essayer Ã* nouveau.";
$alerta="AVERTISSEMENT. Il ya une session ouverte. La session précédente de fermer.";
}


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache" />
<META HTTP-EQUIV="expired" CONTENT="01-Mar-10 00:00:01 GMT" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GROUPE COULEUR ESPAGNOL (PRIVEE)</title>

<script LANGUAGE="JavaScript">
<!--
function redirige(url){
parent.location.href=url
}
var ids
var conf
var idm
idm='<?php echo $cod_pais; ?>';

// -->
</script>


</head>
<body>

<?php
echo "<script name='accion'>alert('Sesion: ".session_id()." Name: ".session_name().".')</script>";

Aquí miro el id y en en local es el mismo asignado con session_regenerate_id - en remoto es otro distinto.

- Tanto si regenero o no el id en el anterior aquí me lo cambia.

El nombre de sesión es el nuevo que le he dado "gcepriv" en ambos casos (claro que arriba se lo vuelvo a asignar es de lógica que sea éste.

Por tanto en el servidor remoto las variables $_SESSION están vacías.



echo "Variable usuario: ".$_SESSION["usr"]." <br />";


include_once("Scripts/codigo.php");
// 1 - inicio
if (isset($_GET["ids"])){

$ids=$_GET["ids"];

?>
<SCRIPT LANGUAGE="JavaScript">
<!--
ids='<?php echo $ids; ?>';
// -->
</script>
<?php


if (isset($_SESSION["usr"])){
if (isset($_GET["confirm"])){
$confirm=$_GET["confirm"];
//echo "<script lenguaje='javascript'>conf='".$confirm."'<..script >";
}else{
$confirm="nhf";
}
if ($confirm=="no"){
session_unset();
//echo "<script name='accion'>alert('No ha confirmado cerrar la sesión abierta, vuelve a la página de inicio.')<..script>";
echo "<meta http-equiv='refresh' content='1;URL=accesoes.php?idm=".$cod_pais."'>";
}else{

if($confirm=="si"){
//echo "<script name='accion'>alert('Ha confirmado cerrar la sesión abierta.')<..script>";
$pag['usr']=$_SESSION["usr"];
$pag['clr']=$_SESSION["clr"];
$pag['prr']=$_SESSION["prr"];
$pag['pag']="accederes.php";
$pag['sidsesion']="";
$pag['idsesion']=$_SESSION["idsesion"];
controldeacceso($pag,$cod_pais,"cierro");
}
$pag['usr']=$_SESSION["usr"];
$pag['clr']=$_SESSION["clr"];
$pag['prr']=$_SESSION["prr"];
$pag['pag']="privevisado.php";
$pag['sidsesion']=session_id();
$pag['idsesion']="";
controldeacceso($pag,$cod_pais,"iniciosesion");

if($_SESSION['prr']=="A"){

echo $mensaje_fin."<br />";
?>
<script language="javascript">
<!--

redirige("zprivada/privevisado.php?ids=" + ids + "&idm=" + idm);
-->
</script>
<?php
//redirigir('visadoes.php?idm='.$cod_pais);
//echo "<meta http-equiv='refresh' target='_parent' content='2;URL=visadoes.php?idm=".$cod_pais."'>";

}elseif($_SESSION['prr']=="B"){
//$nuevo=new encripta();
echo $mensaje_fin."<br />";
//echo "Sesion: ".session_id()."<br />";
//echo "Ids: ".$ids."<br />";
//echo "Ids descode: ".$nuevo->descadena($ids)." <br />";
//echo "<script name='accion'>alert('Me paro aquÃ* B')<..script>";
?>
<script language="javascript">
<!--

redirige('zprivada/privevisado.php?ids=' + ids + '&idm=' + idm);
-->
</script>
<?php
//echo "<meta http-equiv='refresh' target='_parent' content='2;URL=privegrup.php?idm=".$cod_pais."'>";

}elseif($_SESSION['prr']=="T" or $_SESSION['prr']=="X"){

echo $mensaje_fin."<br />";
?>
<script language="javascript">
<!--

redirige('zprivada/privevisado.php?ids=' + ids + '&idm=' + idm);
-->
</script>
<?php

}else{

echo $mensaje_fallo." - Errno: PR001. <br />";
echo "<meta http-equiv='refresh' content='12;URL=accesoes.php?idm=".$cod_pais."'>";
}
}
}else{

echo $mensaje_fallo." - Errno: USR004. <br />";
echo "<meta http-equiv='refresh' content='12;URL=accesoes.php?idm=".$cod_pais."'>";
}

}else{
echo "<script name='accion'>alert('La identificación de sesión no existe. Errno: SEG001.')</script>";
}

?>

</body>
</html>


Ahora, si es un tema de configuración ¿que directivas son las que pueden afectar a esta función? ¿y es un tema de apache o de php?...

Gracias de nuevo.