Foros del Web » Programando para Internet » PHP »

Trabajar sin cookies...

Estas en el tema de Trabajar sin cookies... en el foro de PHP en Foros del Web. Saludos a todos. Po zi, mi propósito es trabajar sin cookies. Para ello cambié en el php.ini: session.use_trans_sid = 1 session.use_cookies = 0 Sin embargo, ...
  #1 (permalink)  
Antiguo 07/09/2005, 11:04
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta Trabajar sin cookies...

Saludos a todos.

Po zi, mi propósito es trabajar sin cookies.

Para ello cambié en el php.ini:
session.use_trans_sid = 1
session.use_cookies = 0

Sin embargo, en el directorio php/temp siguen apareciendo.

Por otro lado, a través del método POST no hay problema pero al redireccionar la página a través de <meta http-equiv='refresh' content='5; URL=menu.php'> la SESION SE PIERDE.
¿ Cómo es posible si está marcado el SID como automático ?
Probé con header('location: menu.php'); y tampoco.

Quién le da luz a mi oscuriá.... Gracias.

Última edición por ma9488; 07/09/2005 a las 11:19
  #2 (permalink)  
Antiguo 07/09/2005, 11:53
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
Además, resulta que usando un link echo "<br><a href='menu.php'>menu</a>"; va perfectamente.

Entonces, ¿ es que usando header no se traspasa el SID automáticamente ?
  #3 (permalink)  
Antiguo 07/09/2005, 12:09
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
Además, qué le impide a un hacker introducir una SID modificando la url ?

Podría hacerle creer a php que es un usuario registrado con permiso si usa una SID que otro usuario está usando en ese momento.
  #4 (permalink)  
Antiguo 07/09/2005, 12:17
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
Antes que nada, y sin saber mucho del tema, te comento que -creo- no puede haber dos SID iguales.

Por otra parte, un Hacker no anda robando SID's... -a lo sumo un Cracker o un aprendiz de este-

En todo caso, quien te asegura que no roban los datos de una cookie y los usan como usuario registrado?
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 07/09/2005, 12:40
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
¿ Sabes por qué no se pasa el SID por la url cuando uso header ?
  #6 (permalink)  
Antiguo 07/09/2005, 13:38
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
Mostra como lo estas pasando...
__________________
I Love Programming...
  #7 (permalink)  
Antiguo 08/09/2005, 07:24
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
header ("Location: menu.php");

no le paso el SID porque se supone que lo hace él mismo. De hecho lo hace la primera vez.
Cuando uso <a href='menu.php'>Pulse aquí para acceder al MENU PRINCIPAL</a> lo hace sin problemas.
El codigo completo es
<?
session_start();

require("\Pag.php");
cabeza();

if($_POST['usuario']=="yo")
{
$_SESSION['usuario']=$_POST['usuario'];
header ("Location: menu.php");
/* echo "<br><a href='menu.php'>Pulse aquí para acceder al MENU PRINCIPAL</a>"; */
}
else
{
echo "<meta http-equiv='refresh' content='0; URL=index.php'>";
}

pie();
?>
  #8 (permalink)  
Antiguo 19/09/2005, 04:53
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
¿Pero por qué dices no te pasa el SID??, ¿cómo es que la sesión "se pierde"?.

Lo mejor será que muestres el código de dónde inicias y declaras las variables de sesión tanto como en donde recuperas la sesión y variables y seas un poco más descriptivo en cuanto a el comportamiento indevido.

Un saludo!

-- Edito --
-> Por cierto: si cabeza() crea algún HTML (así se puede deducir) temo que es un error; no puedes tener ninguna salida antes de un header() --ni se session_start(), pero no es tu caso--. Además, siempre es recomendable hacer un exit inmediatamente después de dicho header("Location:...").
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 19/09/2005, 10:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
PHP si usas session.use_trans_sid a ON .. te va a insertar el SID en vários tag´s HTML automáticamente, pero no lo va hacer en redireccionamientos como header("Location ..") ni en javacript (window.open() .. etc), ni con tu redireccionamiento vía <META ....>. En esos casos si deseas realmente propagar el SID en el URL y no en cookies debes añadirlo TU a mano:

Para ello usa la constante: SID

Código PHP:
header ("Location: nose.php?".SID);
exit; 
Por lo demás ... lo que te aparece en "php/temp" ahí ves las SESIONES!!! en sí .. recuerda que estás USANDO tu própio PC como cliente y SERVIDOR. .. Las sesiones permanecen en el servidor (son esos archivos sessionid_a98yas89df897asdf o similar) eso no son "cookies"!!!.

Y ten mucho cuidado propagando el SID en el URL .. Ten presente que esos ID de sesión van quedando en proxys (caché) en los cachés de los navegadores .. así que ajusta bien el tiempo de duración de tus sesiones: session.gc_maxtimelife .. por qué sino tendrás problemas como los que se describen en este documento (lectura recomendada por PHP.net):

http://www.acros.si/papers/session_fixation.pdf

Un saludo,

Última edición por Cluster; 19/09/2005 a las 10:10
  #10 (permalink)  
Antiguo 27/09/2005, 11:06
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 19 años, 5 meses
Puntos: 0
Gracias por vuestra respuesta.
He intentado traducir el articulo Cluster, aunque me está siendo dificil comprenderlo.
Aunque, supongo que la idea general es reducir el tiempo de duración.
Tengo otra duda, pero mejor la pongo en un nuevo tema. Gracias de nuevo.
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 12:11.