- SQLインジェクションを防ぐのに役立つパラメータ化されたクエリ回数を使用しました。 しかし、私は基本的なロジックがパラメータ化されたクエリの中で働いているかどうか知ることができるかどうか疑問に思っていた SQLインジェクションを防ぐためには非常に簡単かもしれませんが、私はそれの基本は何かをGoogleを検索しようとしたが、Asp.netでパラメータ化されたクエリを使用する方法の例を見つけたたびに。
- 私は、SQLインジェクションで使用される( '、 - などの)特殊文字を停止する特別なクラスを作成することについて知っていますが、SQLインジェクションを完全に防止する特殊文字のみを停止しますか?
- 最後に、.netのパラメータ化されたクエリはSQL注入を完全に停止できますか?
2
A
答えて
2
私はパラメータ化されたクエリは、準備されたクエリデータベースのサポートに依存しないと思います。データベースドライバ自体が安全な方法で値を渡し、どのように行われるかはドライバ自体によって異なります。
データベースレベルのPostgreSQL manual explains basics about parametrized queries。
一方、パラメータ化されたクエリでは、ロケールに敏感なデータを簡単に渡すことができます。 たとえば、ユーザーは10進数10000を入力しますが、サーバーでは100.00の値が必要です。
0
私が知っているすべてのデータベースエンジンでは、「準備済み」(別名「パラメータ化」または「静的」)クエリを使用すると、SQLインジェクションが防止されます。パラメーターに渡す文字をフィルターに掛ける必要はありません。パラメータで準備するのではなく、コードで連結したSQLを書く場合、おそらくSQLインジェクションのリスクがあります。使用しているデータベースのセキュリティマニュアルは、SQLインジェクションに関するセクションがありますが、そのすべてを読むだけです。私は1時間もかかりませんし、あなたのデータベースに適用されるプラクティスをよくフォローしているという確信と自信を与えてくれるでしょう。
関連する問題
- 1. Ruby on Rails:基本的なパラメータ化されたクエリとURLの作成
- 2. 基本的なjavaのパラメータ化されたコンストラクタの利点
- 3. クラシックASP /パラメータ化された本文のクエリ
- 4. 基本クエリをパラメータ化する必要があります
- 5. C#のPostgreSQLのパラメータ化されたクエリ
- 6. パラメータ化されたクエリの問題
- 7. Python - MySQLdbのパラメータ化されたクエリ
- 8. AndroidでSQLのパラメータ化されたクエリ
- 9. パラメータ化されたクエリの例
- 10. JENAでパラメータ化されたSPARQLクエリ
- 11. SQLiteでExcelでパラメータ化されたクエリ
- 12. SPARQLでパラメータ化されたクエリ
- 13. パラメータ化されたneo4j暗号化クエリの実行
- 14. パラメータ化されたクエリには、パラメータ######が指定されていません。
- 15. パラメータ化されたクエリを使用したパラメータの改ざん防止
- 16. C#のmysqlの挿入ステートメント。パラメータ化されたクエリの例?
- 17. このパラメータ化されたクエリの作成方法
- 18. SQLのパラメータ化された動的テーブルのクエリ
- 19. Python 3 sqliteのパラメータ化されたSQLクエリ
- 20. pyodbcでパラメータ化されたクエリの構文エラー
- 21. パラメータ化されたSQLクエリの構文が正しくない
- 22. C#複数のキーワードFulltext Freetextパラメータ化されたクエリ
- 23. INの句でRでパラメータ化されたSQLクエリ
- 24. DocumentDBでパラメータ化されたクエリの文字列リストを渡す
- 25. パラメータ化されたクエリのパフォーマンスが悪い
- 26. パラメータ化されたOracleクエリへの変更
- 27. Pythonの基本的なクエリ
- 28. コレクションフレームワークの基本的なクエリ
- 29. パラメータ化されたクラスのインスタンス化
- 30. `params`パラメータを持つ基本パラメータ。 UI - ルータ
パラメータ化されたクエリは、SQLインジェクションの解決策です –
あなたのコメントのおかげで... – user426306