Ver Mensaje Individual
  #22 (permalink)  
Antiguo 14/04/2005, 21:35
elmaster
 
Fecha de Ingreso: abril-2005
Ubicación: Montevideo, Uruguay
Mensajes: 102
Antigüedad: 19 años
Puntos: 0
A ver Neuron, evidentemente las pruebas que has hecho te han dejado confundido, por algo te dije que este tema ya estaba demasiado entreverado.

Aquí voy, lisa y llanamente NO, no hace lo que tú dices, session_start() no elije un método de propagación en función de donde encuentre un aparente session_id, eso no existe, si existiera sería un bug, pues el usuario podría establecer a placer el método de propagación, al menos durante su sesión, con todas las posibles disfunciones que eso puede significar para un sitio, además de los problemas de seguridad, etc.

Lo que sí hace session_start() es, en caso de que no hayas establecido como métido exclusivo los cookies, con session.use_only_cookies, es buscar el posible session_id en ambos lados, en el cookie, y en un parámetro de GET. Tanto si lo encuentra en cualquiera de los dos lados, como si lo tiene que generar, lo va a escribir y propagar SOLAMENTE por el método establecido por tí, sean cookies o URL.

Ten en cuenta que puedes haber entrado en confusión al hacer pruebas por olvidarte de reiniciar apache cuando modificaste el php.ini, o por dejar habilitado session.use_trans_sid. Hay muchos casos en los que la prueba te puede haber fallado. Estás propagando por tu cerebro una funcionalidad inexistente en session_start().

Aún esto que hace de detectar el session_id en cookie o en GET si no has especificado como medio exclusivo los cookies, te recomendaría que no lo utilices, primero, porque no me figuro un escenario donde pueda serte útil sin confundirte más, y segundo, porque es una funcionalidad no documentada, y es muy probable que diferentes o futuras versiones de PHP se comporten de manera dispar ante esta situación.


Saludos!
__________________
Mauricio Etcheverry

WebMaster de YoReparo.com