2011-11-10 15 views
2

英数字だけがクエリに使用されていることを確認したら、SQLインジェクションがなくていいはずですか?SQLインジェクションを避ける

+2

'()= +'などの必要な文字はどのように使用できますか? – Oded

+0

@oded、コンマや引用符を忘れないでください。 –

+1

多分、彼/彼女は入力フィールドで、クエリ自体ではなく、クエリを実行することを意味しましたか? – Dave

答えて

6

SQL Injection Prevention CheatSheet

弾丸ポイント:

  • 防衛オプション1:すべての開発者が最初にデータベースクエリを作成する方法を教えるべきかプリペアドステートメント(パラメータ化クエリ)
    • ...。
  • 防衛オプション2:ストアドプロシージャ
    • ...安全に実装されています。
  • 防衛オプション3:すべてのユーザー供給される入力
    • を脱出...虚弱なパラメータ化クエリを使用する場合と比較して。
0

技術的には、これはおそらく正しいでしょう。それは、 - または同様のトリッキーを使ってブロックするからです。最近のほとんどのプラットフォームでは、入力を適切にエスケープし、意図しない方法でデータベースに影響を与えないようにするための、より堅牢な方法があります。

5

それが唯一の英数字で有用なクエリを記述することはかなり困難です。 paramterizedクエリを使用して、ショートカット以外のショートカットを検索しないでください。

関連する問題