1

情報を表示するためだけにmysqlデータベースを使用しています。私が見つけることができるセキュリティに関するすべての情報は、ユーザー名とパスワードを動的に作成することに関するもの、またはここでは適用されないユーザー入力の目的に関するものです。重複を見逃した場合はご容赦ください。

次のプロセスごとに個別のphpファイルを作成しています。

  • config:dbホスト、ユーザー名、パスワードが含まれます。これはhtaccessによって保護されます
  • opendb:これはデータベースにログインします
  • closeb:これによりデータベースが終了します
  • 関数:これにはユーザー定義の関数が含まれます

ユーザー名の権限は、選択のみに制限されます。

プリペアドステートメントを使用しています。セッション開始はユーザー関数に含まれています。

足りないものはありますか?これは比較的安全に聞こえますか?繰り返しますが、このDBのすべての情報は独占的なものではありません。ウェブサイトは大きくありません。

さらに詳しい情報が必要な場合はお知らせください。

アップデート

塩を使うのはどれくらい必要ですか?

また、これをiniファイルに入れて、ユーザー名とパスワードを保存せずに接続関数を呼び出すことができることをどこかで読みました。それはより良いオプションですか?

4

1 に答える 1

0

私が考えることができる唯一の悪いシナリオは、データベースが外部で(制御不能に)更新される可能性があることです。誰かがあなたが表示しているフィールドにJavaScriptを追加します。その後、Webサイトは訪問者に対するXSS攻撃の一部として使用されます。解決策:表示する前にデータベース出力をサニタイズします。

また、(サービス拒否から保護するために)非常にコストのかかるクエリを回避し、PHPとWebサーバーが最新であることを確認することもできます。

DBにアクセスしたり、外部から汚染したりすることは困難ですが、従来の攻撃から身を守る必要もあります。たとえば、ユーザーが外部アドレス可能な場所に何かをアップロードすることを許可しないでください(または、そこに何があるかを本当に確認せずに)。

于 2012-09-12T00:17:12.330 に答える