4

最近、Webホスティング会社が台無しになり、すべてのphpファイルがプレーンテキストで表示されるという大きな問題が発生しました。明らかな理由から、これは私にとって大きな問題でした。主な理由は、mysql データベースの詳細が公開されたためです。

ホスティング会社が私を失敗させたとしても、これが二度と起こらないように、phpファイルがデータベースのログイン情報を取得する方法を変更しようとしています.

私の現在のセットアップは次のようになります。

     include 'info.php';

    class Login {

var $host;
var $username;
var $password;
var $db;
var $url;

info.php の中には、データベースのユーザー名、パスワードなどがあります。ログイン情報を取得するために、info.php ファイルを表示できず、.php ファイルのみが info.php にアクセスできるようにしたいと考えています。

どうすればこれを設定できますか? これは私が説明するのが少し難しいので、厳しくしないでください。悪い説明については-1してください。質問してください。説明のギャップを解消します。

4

3 に答える 3

5

info.phpウェブルートの外に配置するだけです。この方法でファイルを含めることができますが、Web ホスティングが失敗した場合、プレーン テキストであっても、他の誰もそのファイルを表示できなくなります。

次に、次のように含めます。

include('../info.php');

このようにして、すべてのパスワードを保存する というファイルがあることを誰かが知ったとしてもinfo.php、ブラウザでそのファイルを参照することはできません。

上記は、理想的で最も水密なソリューションです。ただし、権限のためにそれが不可能な場合は、すべての機密ファイルをディレクトリに配置し、.htaccessファイルを使用してそのディレクトリへの直接アクセスをブロックするという別のオプションがあります。

アクセスをブロックするディレクトリ.htaccessに、次の内容のファイルを配置します。

deny from all

于 2012-05-30T22:52:32.053 に答える
1

何らかの理由で xbonez の回答が機能しない場合 (document_root 以外のフォルダーにアクセスできないとしましょう)。.htaccess を使用して同じことを達成できます。

<files info.php>
 order allow,deny
 deny from all
</files>

これは、理論的には(テストされていない)ファイルがブラウザで使用されるのを防ぎますが、phpがそのファイルを含めるのをブロックしません。

于 2012-05-30T22:57:07.907 に答える
-2

例「requests.php」のファイルにリダイレクトするフォームを作成し、すべてのリクエストに対してスイッチをオンにします。データが正しい場合は特定のページにリダイレクトし、そうでない場合は同じにします。スイッチの最後に別のリダイレクトを置きます.この方法では、ユーザーはそのページを見ることができません.htmlなどを入れないでください-ロジックのみ.

于 2012-05-30T22:56:45.540 に答える