目前,我将我的config.php文件放置在我的Apache服务器上的include folder
中,这使我能够轻松访问文件,并且必须编写目录路径。我认为这是一个好主意,因为它是安全的并且不能从公共根文件夹外部访问。创建config.php的正确方法
我从来没有被告知如何创建config.php
文件,所以我即兴创作,但它似乎可能是做错了方式..(现在不安全)。然后,我开始搜索如何以正确的方式构建这些配置文件的教程,但每个教程都有自己的方式来做到这一点..有人通过使用数组来做到这一点..有人通过定义配置变量来做到这一点..其他人通过使用类..有可能没有一个正确的方式,但我想要一个安全和非常实用的系统工作,我真的不在乎它会如何先进..
这是我的目前的配置文件..你应该很容易地看到它不是那么安全,因为任何人都可能只是能够回显变量,然后读取连接。
<?
$main_host = 'db01.server.local'; // There may be db02, db03 etc.
$main_psw = '********';
$main_host_end = '.server.local'; // makes it possible for me to connect to a different datastore only knowing the subdomain.
// *** USERS *** //
$w_user = 'w_user';
$xr_user = 'xr_user';
$r_user = 'r_user';
$w_server = 'w_server';
$w_db_admin = 'dbw_admin';
// *** DATABASES *** //
$db_accounts = 'accounts';
$db_server = 'server_setup';
// *** DB ACCOUNTS *** //
try {
$w_accounts = new PDO("mysql:host=$main_host;dbname=$db_accounts", $w_user, $main_psw);
$w_accounts->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
try {
$r_accounts = new PDO("mysql:host=$main_host;dbname=$db_accounts", $r_user, $main_psw);
$r_accounts->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
// *** DB SERVER SETUP *** //
try {
$w_server = new PDO("mysql:host=$main_host;dbname=$db_server", $w_user, $main_psw);
$w_server->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
try {
$r_server = new PDO("mysql:host=$main_host;dbname=$db_server", $r_user, $main_psw);
$r_server->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
所以..直接问这个问题。什么是创建一个config.php文件的正确方法?我真的也希望其他人会觉得这很有用。
编辑我也应该mension,这可能不是所有的..我可以有进一步的连接,使..不仅accounts
和server_setup
一个配置文件应只包含您的环境设置。所以我会将数据库创建从中移出。 – Tarilo
我之所以这样做,是因为我不想帮助程序员知道配置文件中有什么。但是我想这可能无法保证这种方式? – Dimser