0

さて、私は SQL インジェクションについて読んでいましたが、それが Visual Basic .NET (私は 2008 を使用しています) で発生する可能性があることに気付きませんでした。PHP でそれについて読んだだけなので、私の質問は次のとおりです。どうすればそれを回避できますか? 友人が数分前にそれを作ったので、それは私のデスクトップアプリケーションのセキュリティに問題があります.

-ありがとう-

4

2 に答える 2

1

これはすべての言語に同様に適用されます。

  1. 準備済みステートメントを使用してデータベースにアクセスできる場合。ユーザー入力をクエリに連結してデータベース クエリを作成することは避けてください。
  2. データベース ステートメントで使用する予定のデータを慎重に検証します。フィールドが整数でなければならない場合は、データベースで使用する前に、それが整数かどうかを確認してください。
  3. 何らかの形式の ORM が存在する場合、おそらく #1 と #2 (少なくとも #2 ではある程度) を実行します。LINQ がこれを処理する必要があります。Linq を使用する場合は、SqlParameter を使用してクエリを作成します。
  4. 可能であれば、ストアド プロシージャを使用します。
  5. 保存された後でも、ユーザー入力に注意してください。
于 2012-07-27T14:03:14.833 に答える
1

SQL インジェクション攻撃は言語固有ではありません。ユーザー入力を受け入れ、それをサニタイズせずに SQL クエリに直接挿入している場合、アプリケーションは SQL インジェクションに対して脆弱です。

SQL インジェクション攻撃を回避する方法の詳細については、この回答をご覧ください。

ここから取り除かなければならない一般的な考え方は、ユーザー入力を決して信用しないということです。

于 2012-07-27T14:04:05.270 に答える