为什么将框架文件夹放在公共根目录之外更安全?

Nau*_*der 4 php zend-framework cakephp yii symfony

为什么始终建议将框架文件放在公共根目录之外?

鉴于有时框架没有.ini.inc浏览器可以打开的文件.

Jon*_*Jon 7

好了,肯定是有什么可以得到来自放置框架来源Web根目录内.由于选择放置文件的位置因此是免费的,因此遵循最小权限原则是合乎逻辑的:您不需要对这些文件进行Web访问,因此您无法获得它.

更具体的原因是框架源可以轻松地公开网站上使用的框架的品牌和版本(尽管通常也可以通过检查生成的内容来获取此信息); 这反过来又可以使恶意用户更容易利用已知或新发现的漏洞.


Lau*_*ris 5

这样更安全,因为如果Web服务器中存在任何配置错误,那么脚本文件(无论是.php,.asp还是其他)都可能以纯文本形式吐出,潜在的攻击者可能会看到您的所有源代码和已定义的密码.所以最好的做法是只将index.php文件放在webroot中,而webroot又包含来自webroot外部的bootstrap脚本.

我记得一个真实世界的例子 - 在我居住的拉脱维亚,我们有大型的社交网络"draugiem.lv"(在我们国家比Facebook更受欢迎)和几年前所有他们的PHP源代码都被错误配置的服务器泄露,正如我所描述的早.