Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/02/2005, 11:26
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
1) y 2) Si tu tienes una estructura "Modular" de tu web donde tienes un script que en función de parámetros llama a otros .. Si quieres "seguridad" tendrás que hacer el session_Start() (y si requieres de alguna otra configuración extra para ajuste de las mismas como esas directivas que ajustas con ini_set()) en todo script que llamas con tu include() ..

Pero, bajo una estructura modular de ese tipo donde se suele tener tu "HTML" en tu index donde defines <html> .. <head ...> etc .. eso te va a dar problemas con session_start() por conflicto de cabeceras .. así que si quieres usar ob_start() y en generar el control del buffer de salida de PHP .. bajo este esquema tu "ob_start()" y su ob_end_flush() tendrían que quedar en tu "inde.php" y los session_start() en cada script que llamas por el include().


3) Cuando trabajas con una estructura modular .. no se "hereda" en realidad .. lo que si que haces es "cortar y pegar" el código en el punto que lo llamas (bajo tu include() o require() y similares funciones). así que para cuando PHP lo ejecuta .. (una vez "pegado" dicho código) es una sóla entidad y se comporta como tal .. es decir . .si quieres probar que hacen un par de session_start() uno al principio y otro más abajo en el mismo flujo del script (código) eso es lo que te sucederá cuando uses "include()" y llames a otro script .. De hecho ese es el problema que se plantea cuando defines "HTML" en tu "index.php" y luego llamas a otros archivo por "include()" que inician el uso de sesiones con session_start() .. Pero, si no lo usas (y validas las varaibles de sesión que correspondan) en los scripts de tus "modulos" .. estaran "indefensos" ante accesos directos a dichos scripts.

Un saludo,