怪我咯2017-04-17 16:25:38
WAF と OneRASP は両方とも SQL インジェクションに対して効果的です。WAF はアプリケーションの前に配置され、ルールの一致によって SQL インジェクションをより効果的に防ぐことができます。ただし、SQL ステートメントがアプリケーション内で具体的にどのように使用されるかは不明です。いくつかのパラメータに基づいて SQL インジェクションであるかどうかを判断するだけでは十分ではありません。これには、管理者がアプリケーションに関する十分な知識を持ち、アプリケーションに対して非常に複雑な構成を行う必要があり、その結果、偶発的に強制終了される率も比較的高くなります。
OneRASP は、ワクチンのようにアプリケーションに保護プログラムを挿入し、アプリケーションのコンテキストを熟知し、JDBC ステートメント プログラム内でアプリケーションを保護します。 SQL ステートメントであると同時に、結果がどうなるかは非常に明確です。これは注射かどうかを判断するための非常に基礎となります。過失致死率も非常に低くなります。
OneRASP には他にも多くの利点があります。興味のある学生は、www.oneASP.com にアクセスするか、baidu で検索してください。
大家讲道理2017-04-17 16:25:38
明らかに誰もがパラメータ化について知っています。では、パラメータ化をうまく行うにはどうすればよいでしょうか?クエリが SQL の文字列構築 (再帰や動的レベル結合など) を必要とするほど複雑でない場合は、次の方法を使用してほぼすべての状況を解決できます。
1. SQLServer はストアド プロシージャを使用してデータをまとめます。実際、これによりデータとパッケージ化も同期でき、両端を変更する必要はありません。スキーマが変更されると、更新全体を処理できます。2. クライアント (または Web サイト) はストアド プロシージャのみにアクセスします。
3. クライアントがストアド プロシージャにのみアクセスできるように、実行権限のみを有効にします。
射出の問題はすべて自動的に解決されます。
PHPz2017-04-17 16:25:38
Web サイトにインジェクションの脆弱性がある可能性があることを理解したので、インジェクションの原理を理解したはずです。そのため、これらの複雑で洞察力のあるフィルタリング方法については考えたくないと思います。インジェクション ステートメント、古いデータベース クエリ方法を使用する代わりに ORM を使用するのが最善の方法だと思います。 Java を使用してバックエンドを作成している場合、Hibernate は試してみる価値のあるフレームワークです。
天蓬老师2017-04-17 16:25:38
取得したデータをデータベースアクセス用の SQL に直接使用しないようにしてください
Struts などの便利なフレームワークがある場合は、
ORM フレームワークを使用する