3

私は仕事でいくつかの異なるPHPショッピングカートを実行しており、バージョン管理下でさまざまな構成ファイルを取得しようとしています。もちろん、本番レベルのパスワードを誰もが利用できるようにしたくないので、これまではgitでそれらを無視してきました。その上、私たちの開発者のほとんどは、固有の情報を使用してローカルインストールを実行しています。

問題についてシステム管理者と話しているときに、apache vhostブロックに環境変数を設定し、PHPからそれらにアクセスできることを突然思い出しました。

Apache:SetEnv db_user "username"

PHP:<?php $config['db']['user'] = $_ENV['db_user'];

問題なく動作するようですが、こんな風になっているのを見たことがありません。この方法で認証情報を処理する際の影響(技術、セキュリティなど)または制限はありますか?

4

1 に答える 1

2

これは、PHP Security Guide: Databases and SQLで提案されている内容に非常に近いものです。

彼らは、潜在的な問題の 1 つは、「phpinfo() や print_r($_SERVER) のようなもの」への呼び出しを介して変数を公開するリスクであると指摘しています。したがって、問題は、そのリスクを制御できるかどうか、およびその仮想ホストにアクセスできるすべての人を信頼できるかどうかです (あなたの文脈では、その答えは「はい」である可能性が高いです)。

彼らはまた、これらの認証情報を root のみが読み取り可能なファイルに入れることで、特別なレベルのリダイレクトを追加することも提案しています。

于 2012-06-11T22:16:10.097 に答える