MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
Q&A
解決済
2回答
4404閲覧
総合スコア20
0グッド
1クリップ
投稿2014/09/07 13:44
0
1
現在、mysqlのパスワードをアプリケーションのルート内に配置している設定用ファイルに平文で記述しています。
このパスワードの管理方法について、セキュリティ面で問題がないか疑問に思い、改善させようと考えております。 参考として、セキュリティを高める為にみなさんが立てている対策手法を教えて頂けませんでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
結論から言えば、保管の方法を工夫してもセキュリティはそれほど向上しないと考えています。
「コンフィグファイルに書かれたパスワードが手に入る」ということはつまり、「攻撃者がソースコードにアクセスできている」ということを意味するわけです。DB接続のパスワードを関数へ平文で渡さないといけない以上、ソースコードが手に入る状況下ではプログラムで何を実行しようが、それが攻撃者にも読まれてしまうだけであり、セキュリティはそれほど向上させられません。
投稿2014/09/09 00:26
総合スコア146819
ベストアンサー
読み取り元を複雑化させるといった点ではアプリケーションを実行させるユーザーの環境変数のみにmysql情報を含み、そこから情報を取得するやり方もあるかと思います。
例としてApacheが実行させるプログラムであれば、httpd.confの中で環境変数を設定するconfをインクルードさせることでApache実行ユーザーに環境変数を設定することができます。インクルードさせるファイルはrootのみが読み取るようにしてもApacheの環境変数に組み込め、プログラム側は変数を指定するだけでよいので、少しはセキュリティが高まるのかと思います。
投稿2014/09/09 01:31
総合スコア15
回答へのコメント
2014/09/10 01:57
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
mysqlの接続用のパスワードを格納する場所・方法について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。