3

MySQLデータベースのパスワード変数の設定を解除する必要がありますか?

現在、「dbpwd.php」のコードは次のようになっています。

# database setup
$dbserver = "localhost";
$db_usrname = "blah";
$db_pwd = "blahblahblah";
$dbname = "blah";

しかし、私は考えていました....これは秘密裏に懸念されています..誰もがこれを行うことができるので:

 <?php
 include 'http://www.mywebsite.com/dbpwd.php';
 echo $db_usrname;
 echo $db_pwd;
 ?>

それは彼らに私のものへの完全なアクセスを与えるのではないでしょうか...それであなたのphpコードの終わりで敏感である変数を設定解除することは良い習慣ですか?または私が欠けているものはありますか?


明確にするために編集...

上記のこの状況では...彼らは(私のものではなく)独自のphpサーバーを使用し、そこからphpファイルを使用して私のサーバーから情報を取得します。

4

2 に答える 2

4

誰かがallow_url_fopenスクリプトへのリモートインクルードビアを実行しようとした場合、サーバーの観点からは通常のHTTPリクエストであることを忘れないでください。適切に構成されたサーバーは、PHPコードをソースとして送信するのではなく、実行します。したがって、データベース構成ファイルが出力を生成しないと仮定すると、彼らが受け取るものは空白のドキュメントになります。彼らはあなたの変数を見たり、アクセスしたりすることはありません。

結果は、Webブラウザでを指定した場合と同じですhttp://www.mywebsite.com/dbpwd.php。空白のページが表示されます。

ただし、前述したように、これは、PHPコードを実行するようにWebサーバーが適切に構成されていることに依存しています(他の方法で要求されたときにコードが実行される場合はそうする必要があります)。ただし、サーバーが誤って構成された場合にこの問題を回避するために、機密ファイルをサーバーのドキュメントルートの外部に配置することを常にお勧めします。

質問の他の部分に答えるために、変数の設定を解除する必要はありません。PHPは、それらが不要になったときにそれらをクリーンアップし、セキュリティに危険を及ぼすことはありません。

于 2012-11-10T02:29:41.190 に答える
0

データベース接続を閉じるimhoで十分であり、これらの変数の設定を解除する必要はありません。

また、Michael Berkowskiが指摘したように、db接続ファイルをドキュメントルートの外に配置する必要があります。

于 2012-11-10T02:38:49.087 に答える