リモートでデータベースにアクセスする唯一の目的が SELECT である場合、DB 接続情報を ini ファイルに保存することのリスクと利点は何ですか?
user1193509
質問する
7461 次
2 に答える
4
構成を ini ファイルに保存しても問題はありませんが、 php.ini ファイルには触れない方がよいでしょう。
独自の .ini ファイルを作成し、parse_ini_file($filename)
またはparse_ini_file($filename, true)
を使用して読み取り、セクションごとにグループ化するだけです。
詳細については、php ドキュメントを参照してください。
編集
さらなる例
; This is your 'config.ini' file, stored on your web server
; Just make sure it isn't in a public directory!
[database]
host = localhost
user = bob
password = password
次に、あなたのphp:
$config = parse_ini_file(__DIR__ . '/../config.ini', true); // Assuming your php is in the root directory of your web server, so placing the file where it can't be seen by prying eyes!
$host = $config['database']['host'];
// etc...
于 2012-09-12T19:24:33.253 に答える
1
セクションphp.ini
の下のファイルと設定を意味する場合:[mysqli]
[mysqli]
mysqli.default_port = 3306
mysqli.default_host = 127.0.0.1
mysqli.default_user = db_user
mysqli.default_pw = db_pass
次に、それらをiniファイルに設定すると、myqsliをさらに便利に使用できます。ファイルを解析したり、独自の構成を定義したりする必要がないため、接続するだけです。
$db = mysqli_connect(); // no arguments, just works.
$res = mysqli_query($db, 'SHOW DATABASES');
while($row = mysqli_fetch_assoc($res)){
print_r($row);
}
phpinfo をどこかに残した場合にのみリスクが存在し、ユーザー名とパスワードがこのファイルを閲覧する人に公開されます。
于 2012-09-12T20:05:03.070 に答える