隐藏数据库配置-Codeigniter


Hiding Database Configuration - Codeigniter

所以我刚刚完成了我的第一个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)包含用于更改应用程序和系统文件夹位置的变量。