【问题标题】:Hiding Database Configuration - Codeigniter隐藏数据库配置 - Codeigniter
【发布时间】:2012-01-25 17:13:58
【问题描述】:

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

【问题讨论】:

    标签: php database codeigniter


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      我们在 WordPress 领域遵循的建议是将文件 chmod 到 755,这样它就只有经过身份验证的用户和 Apache 才能读取。

      sudo chmod 755 file.ext
      

      【讨论】:

        【解决方案3】:

        CodeIgniter 在拒绝访问的 application//system 文件夹中包含 .htaccess 文件,但最好将这些文件夹移出任何可公开访问的文件夹。

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

        【讨论】:

          猜你喜欢
          • 2017-11-23
          • 2012-06-08
          • 2016-04-14
          • 2017-01-05
          • 1970-01-01
          • 2013-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多