ページ

2011-12-30

[鯖]phpなどでmysqlを操作する際の設定を外部に追いやる

phpなどで、mysqlを操作する際には、ユーザ名やパスワード等、セキュリティー上重要な情報が必要です。

これらの情報をwebに公開しているディレクトリに配置するのは情報が漏えいする危険性がある為、良くないと言われています。

では、どうすれば良いのか???

webに公開していないディレクトリに、それらの情報を置けば良いのです。

以下、さくらのレンタルサーバーで私が実際に行った方法を紹介します。
(phpを前提に記述しています)

これで本当に良いのかは分からないですが、多分大丈夫だと思います。
問題ありそうでしたら、より良い方法を教えて頂ければ幸いです。

まずは情報を記述しておくファイルを作成。

1) sshでサーバーにログイン (ログイン方法はマニュアルを参照)。
2) 自分のディレクトリに移動 (cd /home/アカウント名)
   このディレクトリにあるwwwというディレクトリがwebに公開されている。
3) 適当なディレクトリを作成(mkdir conf)
4) 作成したディレクトリに入る(cd conf)
5) 設定を書き込むファイルを作成する(vi hogehoge_conf.php)
6) 作成した設定ファイルに必要な情報を書き込む
  ex)
    <?php
      $db_conf['server']  = 'hogehoge';
      $db_conf['db_user']  = 'hogehoge_user';
      $db_conf['db_pass'] = 'hogehoge_pass';
     その他いろいろ
   ?>

次に記述した情報を使ってデータベースにアクセス。
ex)

        require_once('../conf/hogehoge_conf.php');

        $link = mysql_connect($db_conf['server'],$db_conf['db_user'],$db_conf['db_pass']);
        if( $link == false ){
            die('データベースに接続できません:');
        }
        いろいろ処理...


        mysql_close($link);


という感じ。

0 件のコメント:

コメントを投稿