[系統安全] 讓 b2evolution 的密碼保護更安全一些

我一直對 php-based 的密碼防護有蠻大的顧慮,將連線帳號密碼以明碼的方式寫入 php 設定檔中,感覺實在甚不安全。剛好在升級 xoops 系統時,爬文看到此篇:「把管理者帳號和密碼從Mainfile.php中移出來」 。想說應該同樣的方式也適用在 b2evolution 的系統下!

原理其實很簡單,b2 的帳號密碼是放在 \conf\_basic_config.php 中,不要把帳號密碼放在這裡,而是改成:

$db_config = array(
	'user'          => $db_user,     // your MySQL username
	'password'      => $db_passwd,     // ...and password
	'name'          => $db_name,  // the name of the database
	'host'          => 'localhost',    // MySQL Server (typically 'localhost')
);

而帳號密碼抽離出來,另存成一個檔案,就名為 b2evolution-auth.php ,放在 securedata 目錄下 (目錄與檔案名稱均可自訂) :

$db_user   = "username";   //database username here 
$db_passwd = "password";  //database password here 
$db_name   = "b2evolution";    //your database name here 

而在原來的 _basic_config.php 內容中,在第一行加入如下:

include ("/home/hsdctw/securedata/b2evolution-auth.php");

該檔案存放的位置就是重點了。可不是存在 b2evolution 的子目錄下,而是應該儲存在你的 home 目錄,或者是在虛擬主機給你的根目錄下。例如以我的為例,就是放在 /home/securedata 下。如此除非 Hacker 有登入虛擬主機系統的權利,否則是無法從 web 下讀取到該檔案的內容,自然這也就形成密碼保護的目的了。

文章導覽

   

共有 2 則迴響

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *