1

リモートでデータベースにアクセスする唯一の目的が SELECT である場合、DB 接続情報を ini ファイルに保存することのリスクと利点は何ですか?

4

2 に答える 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 に答える