Gracias
Universal SAC por interesarte, paso a explicarme un poco mejor: viste que con el protocolo http, para pedir las paginas el browser (IExplorer, Firefox, etc..) envia peticiones GET que tienen mas o menos la siguiente forma:
GET /index.html HTTP/1.1
Host:
www.example.com User-Agent: HTTPTool/1.0
Connection: close
[Línea en blanco]
esa seria la peticion que haria el browser al servidor cuando uno pega la siguiente url en la barra de direcciones:
www.example.com/index.htmlpor ejemplo si te conectas a
www.elhacker.net, como en muchas otras paginas mas, cuando te logueas estas peticiones tiene un campo "Cookie: bla bla bla"
Pudiendo ser algo asi (totalmente imaginario)
GET /foro_de_php.php HTTP/1.1
Host:
www.elhacker.net User-Agent: HTTPTool/1.0
Connection: close
Cookie: cookieUser=achernar, pass=1234567890, PHPSESID=AFS54AD8F9ASa65df94FA6D [Línea en blanco]
Esta peticion se haria cuando, ya logueados, hicieramos clic en un link que diga
www.elhacker.net/foro_de_php.php(Esto se ve con un sniffer)
ahora si en lugar de hacer clic yo copio esa url (
www.elhacker.net/foro_de_php.php) y la pego en una nueva ventana... el server me va a responder asignandome un nuevo PHPSESID para esa ventana. O sea, voy a tener dos ventanas, pero cada una va a tener un PHPSESID diferente.
El PHPSESID no va enviado por la url, sino que es enviada por el server en sus repuestas que tienen mas o menos esta forma:
HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
SetCookie: PHPSESID = nuevo valorContent-Length: 1221
<html>
<body>
<h1>Página principal de tuHost</h1>
(Contenido)
.
.
.
</body>
</html>
Resumiendo:
me logueo en una pagina y en una de las siguientes respuestas del server me envia un valor de PHPSESID que voy a tener que usar en mis siguientes peticiones, todos los links que clickee en la pagina va a resultar en peticiones hechas por el browser al server con este valor de PHPSESID, pero si en lugar de hacer click en el link, pego su url en una nueva ventana, el server me asigna un nuevo valor de PHPSESID porque como el PHPSESID no viaja en la url (en este ejemplo) el server no deve verificar las ip, sino que solamente las PHPSESID, y paraciera que no tiene forma de saber que la nueva ventana esta en la misma maquina. Sin embargo si mantiene mi user logueado. Es un verdadero misterio para mi.