为什么将 CakePHP 文件存储在 webroot 之外?
例如,这是我一直被告知这样做的方式。
/home/username
/app
/cake
/public_html
index.php
我知道这是因为安全,但为什么呢?它不像用户可以查看 /app/ 文件夹中的文件。htaccess 阻止了正确的?
如果用户能够在我的网络服务器上获取恶意脚本,那么 /app/ 文件夹是在 /public_html/ 中还是在 webroot 之外都没有关系,他们仍然会更改 /app/ 文件夹下的文件,对吧?
那么为什么要打扰呢?
为什么要冒险?如果它们不在 webroot 中,它们永远不会被 Apache 错误地提供服务。当然,它不应该有所作为,但它违反了Principal of Least Privilege。
此外,您通常希望将您的公用文件夹作为 URL 的根目录,将人们发送到 www.example.com/home/username/public_html 看起来有点笨拙?