 
			
				18/01/2012, 10:49
			
			
			     |  
        |     |    |    Fecha de Ingreso: mayo-2011  
						Mensajes: 24
					  Antigüedad: 14 años, 5 meses 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′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.           |