ハードコーディングされた機密情報 (API キーの文字列、データベースのパスワード) をセキュリティのために環境変数として保持することについて書かれた記事をたくさん見てきました。私はこの概念に少し慣れていませんが、レールについてはたくさん見てきましたが、PHP 側ではあまり見ませんでした。
PHP FOGでさえ、ユーザーの初期 mysql DB 情報を作成するときにこのタイプのセットアップを使用します。
ただし、これがどこに設定されているのか、特定のphp Webページ/アプリケーションを使用してどのように取得されるのかはよくわかりません。私はこれを、トランザクションの電子メール API キーやその他の情報を安全に保ち、複数のページで使用できるようにするなどの観点から見ています。
たとえば、config.php ファイルを作成してサイトのルートに配置した場合、コード内でキーを直接呼び出すのと実際に違いはありますか? 環境変数はどこに設定する必要があり、それらを呼び出す最も効率的な方法は何ですか? これが SESSION 変数とどのように異なるのかにも興味がありますか?
注: Nginx をペアにして LAMP スタックを実行しています。
更新 1: これらのユーザーの 1 人は、環境変数を「非公開」ファイルだけで使用することに反対する傾向がありますが、これがどのように大きく異なるかはわかりません。
更新 2: この記事も見つかりました。これは、Windows の観点から一般的な意味を持っているようです (*nix で php のインクルード パスを変更する必要があると仮定しますか?)。繰り返しになりますが、とにかく API キーを PHP スクリプトに直接ハードコーディングするよりも、これにはどのような利点があるのでしょうか?