所以我刚刚完成了我的第一个php代码点火器应用程序,我即将把它部署到服务器上。但是,我听说在文档根目录中保留数据库设置是非常糟糕的做法。Codeigniter是否以某种方式隐藏了application/config/database.php中的设置,或者我应该将整个应用程序文件夹移到其他地方并从index.php引用它?谢谢
我总是将应用程序和系统文件夹移动到docroot
之外。通过这种方式,没有任何应用程序文件可以从web访问,只有引导程序。
在默认的CI安装中,您会得到以下信息:
public_html // the docroot folder
application
system
index.php
我把它改成这样:
application
system
public_html // the docroot folder
index.php
并将index.php更改为:
$system_path = '../system';
$application_folder = '../application';
如果您的文件是可公开访问的,这将是一种糟糕的做法,但这本身并不是一件坏事。例如,WordPress(一种为大部分网络供电的CMS)将其数据库配置信息存储在名为wp-config.php
的文件的文档根中。
我们在WordPress领域遵循的建议是将文件修改为755
,这样它就只能由经过身份验证的用户和Apache读取。
sudo chmod 755 file.ext
CodeIgniter在拒绝访问的application/
和/system
文件夹中包含.htaccess
文件,但最好将这些文件夹从任何可公开访问的文件夹中移出。
CodeIgniter前端控制器(index.php
)包含用于更改应用程序和系统文件夹位置的变量。