
Cuando sirvo un sitio con Apache, conozco dos formas de colocar contenido en "servername/foo":
- Colóquelo en la raíz web en una carpeta llamada 'foo'
- Crear un alias
Como ejemplo del n.° 2, XAMPP tiene estas declaraciones en un archivo de configuración:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
...Lo que significa "si el servidor es localhost y alguien visita localhost/phpmyadmin, muéstrele el contenido de C:/xampp/phpMyAdmin, dado elsiguientes permisos".
En este ejemplo, dado que se puede acceder a phpMyAdmin desde la misma URL,¿Importa desde una perspectiva de seguridad si está en la carpeta raíz web o simplemente con un alias para que parezca que lo estaba?
Respuesta1
Para Apache "normal" (estático) y si limita el ejemplo a un escenario ajustado 1:1: No, no importa. Hipotéticamente, si mezclas y mezclas y pierdes la noción de qué permisos se heredan y dónde, tal vez podrías exponer algo que no era tu intención.
Creo que lo más importante es que hace que sea más fácil que una rama de código distinta sea propiedad (y posiblemente, por lo tanto, escrita) por un usuario distinto al que usa para su servidor web y raíz de documentos. Esto es necesario para un embalaje fiable, y un embalaje fiable es una parte fundamental de la seguridad a largo plazo.
También tenga en cuenta que los módulos de Apache pueden ser bastante flexibles. Entonces, si bien el contenido principal de Apache no se comportará de manera diferente, los módulos de autenticación de terceros o incluso las configuraciones de php como open_basedir e include_path pueden variar el comportamiento.
Respuesta2
No.
La declaración de Directorio se aplica a un DIRECTORIO. No importa en qué parte del sistema se encuentre este directorio.
Tenga en cuenta que la sangría de su pregunta implica algún tipo de relación entre las líneas Alias y Directorio, que en realidad no existe.