Título: PHPSESID Publicado por: Achernar en 6 Noviembre 2007, 14:19 pm Me parece que quizas ya estoy un poco pesado con las cabecera http, pero es que todavia nunca me habia metido con este protocolo.
Esta es la situacion: 1) abro una pagina en una ventana 2) guarda en mis cookies un valor de PHPSESID 3) si hago clics en sus links, las peticiones GET contienen el valor PHPSESID en el campo cookie de la cabecera. 4) si copio la url de un link y lo pego en la barra de direcciones en la misma ventana, tambien las peticiones GET van acompañadas de este valor PHPSESID en el campo cookie de la cabecera 5) si copio la url de un link y lo pego en la barra de direcciones en una nueva ventana la peticion no lleva el PHPSESID, y la respuesta del server me asigna uno diferente para esta nueva ventana. para que sirve el PHPSESID? Es posible que con esto el servidor se de cuenta de, por ejemplo, si una sesion esta siendo robada? o que estamos usando algun tipo de bot? ademas... aùn para la misma pagina. Cada ventana tiene una cookie o este valor se guarda en algun archivo temporal de cada ventana? Título: Re: PHPSESID Publicado por: Universal SAC en 8 Noviembre 2007, 05:29 am Citar para que sirve el PHPSESID? Es simple, el PHPSESSID es nada más y nada menos que la cadena o código de Identificación de la Sesión en PHP (PHP SESSion IDentification). Cuando se usan Sesiones en php, estas funcionan almacenando información de forma temporal en el servidor, ya sea tu nombre de usuario, tu password... (tal vez cosas de la base de datos, y las guardan en un archivo temporal para evitar realizar varias consultas de la misma información, por tanto, menos tráfico ;)). Y cada usuario tiene una clave de Identificación, de manera que con esta, el servidor sabrá a que archivo temporal recurrir para pedir tu información. Citar Es posible que con esto el servidor se de cuenta de, por ejemplo, si una sesion esta siendo robada? o que estamos usando algun tipo de bot? De hecho, creo que no... Lo que tú mencionas sobre "copiar una url" y en la misma ventana tiene PHPSESID como variable GET y en otra ventana no lo tiene, está totalmente fuera de lugar. Si copias un enlace será igual EN TODOS LADOS!! Lo que puede ser diferente, es que las cookies se borren inmediatamente de cerrar el navegador... Título: Re: PHPSESID Publicado por: Achernar en 8 Noviembre 2007, 16:02 pm 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.html por 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 valor Content-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. |