1

私のphpページでは、上部でこのようにデータベースに接続します

$db = mysql_connect("mysql.site.com","thedb", "pass"); 
mysql_select_db("dbase",$db); 

これは安全ですか?誰かがどういうわけか私のコードをスキャンして表示し、データベースにアクセスできるでしょうか?

アップデート

私が尋ねる理由は、ユーザーが私のデータベースにアクセスできたためであり、SQLインジェクションを介してではなかったと確信しています。

4

4 に答える 4

3

このスニペットをドキュメントルートの外部のインクルードファイルに移動すると、より良いでしょう。これにより、Webサーバーが何らかの理由で誤って構成され、PHPファイルをプレーンテキストとして提供し始めた場合に、他のユーザーがスニペットを読み取れないようになります。それ自体では十分に安全ですが、誰かが意図的にこのようにサーバーを誤って構成する可能性はほとんどありません。

于 2012-05-27T17:05:02.707 に答える
1

誰かがあなたのコードにアクセスできた場合、そうです、彼らはパスワードを読み取ることができます。

これについてできることはそれほど多くありませんが、このコードがWebルートから上のディレクトリであることを確認すると役立ちます。

(つまり、フォルダーからサイトを提供している場合は/usr/htdocs/mysite、に変更してから/usr/htdocs/mysite/public、インクルードをパブリックではなくマイサイトに配置します。)

于 2012-05-27T17:06:35.043 に答える
1

常に複数の防御層を適用する必要があります。

  1. ソース コードから認証情報を削除し、Web サーバーのドキュメント ルートの外に配置します。
  2. データベースへのアクセスを、おそらくlocalhostまたはソケット経由のみに制限します。
  3. ユーザーの権限を必要なものだけに制限します。
于 2012-05-27T17:27:54.240 に答える
0

それは大丈夫です、私が言うことができる重要なことは、あなたのデータベースに行き、そのユーザーに制限された許可を与えることです、つまり、必要なテーブルを選択、挿入、更新、削除するだけです..その横に、その情報を含むファイルを作成し、必要なときに含める、それが私のアドバイスです。

誰かがあなたのコードを通過した場合、その情報を見ることができますが、常に被害の影響を減らすようにしてください

于 2012-05-27T17:08:19.537 に答える