Tema: include path
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/12/2002, 08:49
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cuando usas las funciones include(), requrie() ... Puedes llamarlas (es decir tenerlas) en cualquier sitio fisico del servidor .. y podras acceder a ellas siempre que tengas los permisos adecuados de lectura del directorio(s) donde tengas esos archivos que vas a llamar via un include()

Que PHP en su php.ini tenga un directorio exclusivo (y la mayoria de veces no usado) include_path .. es porque ese directorio que definas ahí se podrá acceder si usas alguno de los numerosos medios que dispone PHP para hacerse un poco mas "seguro" ..

Con eso, puedes "sacar" fuera de tu directorio "documen root" (el típico /var/www/html ... .../public_html ..) los archivos que necesites hacer un include() .. Por ejemplo para poner ahí archivos de configuración (el típico que contiene las contraseñas de acceso a Mysql .. o a base de datos). Tambien depende de como se ejecute php .. si como Módulo de Apache (si es así puedes poner tus "include() q requieras) donde quieras en el servdior incluso fuera de este "document root" ..) o si está bajo CGI .. en este caso si quieres sacar fuera del "document root" deberian estar en dicho include_path de php.ini

Uno de ellos es lo que denominan "safe mode" .. PHP en ese modo solo puede hacer include() .. de ficheros que estén en ese directorio (safe_mode_include_dir) .. así que puedes proteger ese directorio en tu servidor de forma que solo tengan acceso los usuarios del sistema que definas y/o de donde vengan ...

Lo mismo sucede con la directiva de tu php.ini safe_mode_exec_dir .. si el servidor usa "safe mode" Solo podrias ejecutar funciones tipo exec(), system(), pastrhu() .. etc de acceso al sistema Operativo a las aplicaciones (ejecutables) que tengas en ese directorio.


Si usas un servicio de Hosting .. haz un phpinfo() ... ahí veras la configuración de PHP .. entre ellas veras como o donde están definidos estas directivas de include_path .. o el propio estado del "safe mode" .. o si está PHP como Módulo (API) de Apache o solo como CGI. Si tienen definido la ruta a esas directivas (include .. path) .. y están dentro de tu sitio (osese, al acceder via FTP a tu cuenta con ellos) .. están bajo algun directorio podras usarlo.

Como pequeña experiencia con servicios de Hosting (gratuitos y de pago) .. la mayoria No tienen definido el include_path .. lo lo tienen definido en un directorio q como usuario del servicio no tengo acceso (así q me quedo igual) ..

Por cierto .. en el include_path = .. solo ves un directorio de ejemplo .. pero se pueden usar tantos como quieras tan solo separandolos por punto y comas (;) .. asi q imagina que cada usuario tuviera su directorio ahi puesto .. Y .. vuelvo a insitir .. Es diferente a usar PHP como Módulo de Apache a como un CGI .. Como CGI podemos aplicar mas restricciones e incluso (creo no lo he comprobado) decirle a PHP q use tal php.ini .. asi se puede quedar un php.ini con la configuración expclusiva para ese usuario.


Un saludo,

Última edición por Cluster; 18/12/2002 a las 08:53