2011-07-05 12 views
2

サイトの記事を読んだ後、私は自分自身のサーバーのセキュリティが本当に心配になりました...PHPセキュリティ - パスワードと認証情報の管理?

PHPファイルの中には、後でユーザーに表示されるすべての主要なPHPページに含まれています。ユーザー名とパスワード(サーバーのルート、mysqlルートなど)がプレーンテキストに挿入されています...心配するものは何ですか?誰でもPHPファイルを読むことができます(それをダウンロードしてサーバで実行するのではなく)。

ユーザー名とパスワードを盗まれる危険性はありますか?変数に値を与える単純なテキストフィールドです。

もしそうなら、お勧めの解決策はありますか?暗号エンジンのように?か何か?

ありがとうございます!

+0

関連する/重複するもの:[何もエコーしないPHPファイルに直接アクセスするのはなぜですか?](http://stackoverflow.com/questions/6563501/why-should-i-prevent-direct -access-to-php-files-do-not-echo-anything) – hakre

+1

これらのファイルはパブリックディレクトリの外部に置いて、Webから決して見ることができないようにします。また、システム上の誰もファイルを表示できないように、パーミッションが適切に設定されていることを確認してください。最後に、サーバーにログイン資格情報を保存しないでください。代わりにopenIDを使用してください。非常にフレンドリーなopenidライブラリはLightOpenIDです。 – Alfred

答えて

3

ユーザー名とパスワードを含む設定ファイルを、公開アクセス可能なルートフォルダの外部に保存します。

たとえば、ルートフォルダが/home/username/public_html/の場合、設定ファイルを/home/username/に保存します。

public_htmlで実行されているPHPスクリプトに設定ファイルを含めることはできますが、Webサーバーがスクリプトを処理するのではなくPHPスクリプトの内容を印刷し始めるようなことがあれば、ユーザー名とパスワードは安全です。

+0

ありがとう、私はこれを試してみます。また、オーバーヘッドを下げるために何をすべきですか?私は1つのページを持っている:mysql接続ページを含むfoo.php:システムルートからのconnect.php、次にcredentials.phpを 'credentials'フォルダから含む?それは大丈夫ですか? ok? –

+1

なぜそうでないのか分かりません。 1つのファイルは別のファイルを含みます。 –

+0

ok、ありがとう!私はそれを実装し、それがうまくいくことを願っています。私が話していたオーバーヘッドは、1つの要求で3つのファイルにアクセスするという考え方でした。私は、大きなファイルは、1つのユーザー要求で小さな複数のファイルよりも望ましいと読んでいます。とにかく、すべてのおかげで! –

1
  1. ストアウェブルート外のファイル
  2. 他のユーザーがそれを使用することはできませんので、適切なファイルのアクセス権を設定します。
関連する問題