2012-01-25 34 views
0

因此,我剛剛完成我的第一個php codeigniter應用程序,並且我即將將其部署到服務器。但是,我聽說將數據庫設置保存在文檔根目錄中是非常糟糕的做法。 Codeigniter會以某種方式隱藏application/config/database.php中的設置,還是應該將整個應用程序文件夾移動到別處並從index.php中引用它?謝謝!隱藏數據庫配置 - Codeigniter

回答

4

我總是將應用程序和系統文件夾移到docroot之外。這樣,沒有應用程序文件可以從網上訪問,只是引導。

在默認安裝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

如果你的文件是可以公開訪問的,這將是一個壞習慣,但它本身並不是一件壞事。例如,WordPress(一個支持網絡大部分的CMS)將其數據庫配置信息存儲在文檔根目錄中,文件名爲wp-config.php

我們在WordPress域中遵循的建議是將文件chmod改爲755,這樣它只能被auth'ed用戶和Apache讀取。

sudo chmod 755 file.ext 
1

笨包括拒絕訪問的application//system文件夾.htaccess文件但它總是移動這些文件夾的任何可公開訪問的文件夾的一個好主意。

CodeIgniter前端控制器(index.php)包含用於更改應用程序和系統文件夾位置的變量。