私は同じ問題を抱えていましたが、最初は
- DB パスワードは、ディレクトリ内のインクルードファイルに格納されました
includes
(つまり、偶発的な PHP コードが Web ファイルから直接表示されるのを防ぐため)。
その後、別のアイデアが生まれました。もう少し複雑ですが、それでもかなり実行可能です
- エンコードされた DB データを所有し、システムコールからデータを配信する C プログラムを作成します。ソース コード (エンコードされたパスワードを含む) は、安全な場所に所有されています。Cコードは、呼び出しがPHPなどから行われたことを確認するためにいくつかのチェックを実行する必要があります...
しかし、これはかなりコストがかかります。C は高速ですが、システムを介して常にパスワードをロードするのはコストがかかります。したがって、ゲームに APC を追加すると、全体がより簡単かつ高速になります。
- 最初のリクエスト中に、DB データを APC 永続変数にロードします。したがって、データはメモリ内にあり、外部から取得するのがより困難になります。通常、アルゴリズムは
アルゴ
Check if APC variables are set
If yes use them
If no load them from C program, only once
APC ドキュメント
php-fpm
たとえば、使用する別のアイデアは、パスワードを含むfpm 構成 ( rootのみが読み取り可能) 内に環境変数を設定することです。
最後に、C コードからデータを提供する独自の PHP 拡張機能を作成することもできます (拡張機能は通常 C で記述されます)。これは一部の拡張ドキュメントです。
これは、パスワードの盗用を防ぐための決定的な答えではありませんが、少なくともハッカーがパスワードを特定するのが難しくなり、より多くの知識も必要になります。