在为Apache提供站点时,我知道有两种方式将某些内容放在“servername / foo”上:
作为#2的例子,XAMPP在configuration文件中包含这些语句:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/" <Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
这意味着“如果服务器是本地主机,有人访问localhost / phpmyadmin,给他们看C:/ xampp / phpMyAdmin的内容,给予以下权限 。”
在这个例子中,考虑到phpMyAdmin可以从同一个URL访问, 从安全的angular度来看,无论是在web根文件夹还是别名,看起来好像都是重要的?
对于“常规”(静态)apache,如果将示例缩小到1:1紧张的场景:不,这并不重要。 假设如果你混合和混搭,并失去什么权限inheritance的地方,你可能会暴露你不是那个意思。
我认为最重要的是它确实使独立的代码分支更容易被独立的用户拥有(并且可能因此被写入),而不是用于你的web服务器和文档根目录的分支。 这是可靠包装所需要的,可靠的包装是长期安全的核心部分。
另外请记住,Apache模块可以非常灵活。 所以,虽然核心apache的东西不会有任何不同的行为,第三方authentication模块,甚至PHP的设置,如open_basedir和include_path可以改变行为。
没有。
目录声明适用于目录。 这个目录存在于系统的哪个位置并不重要。
注意你问题中的缩进意味着别名和目录行之间的某种关系,而这些关系实际上并不存在。