私は自分の Web サイト用の config.php ファイルを、公開されている Web ディレクトリの外に保存しています。このファイルには、サイトのメールを送信するために使用する Gmail アカウントのパスワード情報と、データベース接続資格情報が含まれています。パスワードをプレーンテキストの変数として保存するという考えは気に入らず、このデータをより安全に保存する方法を探していました。私以外のユーザーからのディレクトリへの読み取りアクセスをブロックする以外に、この情報を保護するにはどうすればよいですか?
2 に答える
ほとんどの場合、プレーンテキストで保存することになります。たとえば、暗号化したい場合、復号化するキーをプレーンテキストなどで保存する必要があるとします。そのため、サーバーが安全であることを確認することをお勧めします。
何を保護しようとしているかによって異なります。
ファイルを外部から明示的に呼び出すことができないように、ファイルを htdocs (webroot ディレクトリ) の外に置くことをお勧めします。(IEはブラウザをそれに誘導します)。
$var を自分のコード (つまり、サードパーティの悪意のあるコード) 内から保護したい場合は、変数が消費された後はいつでも変数の設定を解除できますが、それが大きな違いを生むかどうかはわかりません。
サーバーに「ハッキング」する可能性のある誰かからファイルを保護したい場合、できることはあまりありません。www-data (あなたの apache ユーザー) だけがファイルを読めるようにいつでもファイルパーミッションを設定することができますが、誰かがあなたのマシンへのルートアクセス権を取得した場合、あなたはかなり失敗します.
とにかく、サーバーが安全な場合 (リモートでのルート アクセスがないか、公開/秘密キーを使用して shh 経由でのみアクセスするか、公共の PC からサーバーにアクセスしないなど...)、サード パーティのコードを検査せずに使用することはありません。最初に、パス ファイルを webroot ディレクトリの外に保存します。できる限り安全だと思います。