Caso 3: Configurando doc_root o user_dir

Para incluir contenido activo, como scripts y ejecutables, en los directorios de documentos del servidor web es algunas veces considerado una práctica insegura. Si, por algún error de configuración, los scripts no se ejecutan y son mostrados como documentos HTML regulares, esto podría resultar en una fuga de información de propiedad intelectual o de información de seguridad como las contraseñas. Por lo tanto muchos Administradores de Sistemas preferirán configurar otra estructura de directorios para scripts que sean accesibles solamente a través del CGI de PHP, y por lo tanto siempre interpretados y no mostrados como tales.

También si el método para asegurarse de que las peticiones no son redirigidas, como se describió en la sección anterior, no está disponible, es necesario configurar un script doc_root que sea diferente de la raíz del documento web.

Usted puede configurar el script de la raíz de documento de PHP en la directiva de configuración doc_root en el fichero de configuración, o puede configurar la variable de entorno PHP_DOCUMENT_ROOT. Si éste es configurado, la versión del CGI de PHP siempre construirá el nombre del fichero para abrir con este doc_root y la ruta de información en la petición, de tal forma que pueda estar seguro que ningún script será ejecutado fuera de este directorio (excepto por user_dir que se encuentra más abajo).

Otra opción utilizable es esta user_dir. Cuando user_dir no está configurado, lo único que controla el fichero abierto es doc_root. Al abrir una URL como http://mi.servidor/~usuario/documento.php no resulta en la apertura de un fichero bajo el directorio personal del usuario, sino un fichero llamado ~usuario/documento.php debajo de doc_root (sí, un nombre de directorio que empieza con una tilde [~]).

Si user_dir es configurado, por ejemplo public_php, una petición como http://mi.servidor/~usuario/doc.php abrirá un fichero llamado doc.php bajo el directorio llamado public_php debajo del directorio personal del usuario. Si el directorio personal del usuario es /home/usuario, el fichero ejecutado será /home/usuario/public_php/doc.php.

La expansión de user_dir sucede sin tomar en cuenta la configuración de doc_root, así que usted puede controlar el acceso a la raíz de los documentos y el directorio de los usuarios separadamente.

+add a note

User Contributed Notes

There are no user contributed notes for this page.