隐藏数据库配置 - Codeigniter

时间:2012-01-25 17:13:58

标签: php database codeigniter

所以我刚刚完成了我的第一个php codeigniter应用程序,我即将把它部署到服务器上。但是,我听说在文档根目录中保留数据库设置是非常糟糕的做法。 Codeigniter是否以某种方式隐藏了application / config / database.php中的设置,还是应该将整个应用程序文件夹移到别处并从index.php引用它?谢谢!

3 个答案:

答案 0 :(得分:4)

我总是将应用程序和系统文件夹移到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';

答案 1 :(得分:1)

如果您的文件可以公开访问,那将是不好的做法,但这本身并不是件坏事。例如,WordPress(为网络的大部分提供支持的CMS)将文档根目录中的数据库配置信息存储在名为wp-config.php的文件中。

我们在WordPress中遵循的建议是将文件chmod到755,这样只有auth'ed用户和Apache才能读取它。

sudo chmod 755 file.ext

答案 2 :(得分:1)

CodeIgniter包含拒绝访问的.htaccessapplication/文件夹中的/system个文件,但将这些文件夹移出任何可公开访问的文件夹始终是个好主意。

CodeIgniter前端控制器(index.php)包含用于更改应用程序和系统文件夹位置的变量。