我在看一些(PHP)框架,我在Laravel文档中注意到了这一点:
与大多数Web开发框架一样,Laravel旨在通过仅放置Web服务器的DocumentRoot中必须公开的文件来保护您的应用程序代码,捆绑包和本地存储。这可以防止某些类型的服务器配置错误使您的代码(包括数据库密码和其他配置数据)可以通过Web服务器访问。最安全。
我熟悉CodeIgniter和CakePHP,据我所知,这两个框架不会这样做。您是否应该将其拆分并将核心逻辑放在webroot之外?根据我的经验,大多数客户使用共享主机,无法更改其VirtualHost设置。
您输出密码可能会出现什么样的错误配置?在开发时,你真的应该这样做吗?
答案 0 :(得分:0)
是的,仅保留应在DocumentRoot中公开访问的文件是web application security的最佳做法。考虑:
答案 1 :(得分:0)
CakePHP支持此功能 - 请参阅deployment:
CakePHP应用程序应该将文档根目录设置为 应用程序的app / webroot。这使得应用程序和 配置文件无法通过URL访问。