ホームページ  >  に質問  >  本文

java - 如何防止sql注入

PHP中文网PHP中文网2764日前1283

全員に返信(15)返信します

  • 怪我咯

    怪我咯2017-04-17 16:25:38

    WAF と OneRASP は両方とも SQL インジェクションに対して効果的です。WAF はアプリケーションの前に配置され、ルールの一致によって SQL インジェクションをより効果的に防ぐことができます。ただし、SQL ステートメントがアプリケーション内で具体的にどのように使用されるかは不明です。いくつかのパラメータに基づいて SQL インジェクションであるかどうかを判断するだけでは十分ではありません。これには、管理者がアプリケーションに関する十分な知識を持ち、アプリケーションに対して非常に複雑な構成を行う必要があり、その結果、偶発的に強制終了される率も比較的高くなります。
    OneRASP は、ワクチンのようにアプリケーションに保護プログラムを挿入し、アプリケーションのコンテキストを熟知し、JDBC ステートメント プログラム内でアプリケーションを保護します。 SQL ステートメントであると同時に、結果がどうなるかは非常に明確です。これは注射かどうかを判断するための非常に基礎となります。過失致死率も非常に低くなります。
    OneRASP には他にも多くの利点があります。興味のある学生は、www.oneASP.com にアクセスするか、baidu で検索してください。

    返事
    0
  • PHPz

    PHPz2017-04-17 16:25:38

    前処理、パラメータとクエリを分離

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 16:25:38

    明らかに誰もがパラメータ化について知っています。では、パラメータ化をうまく行うにはどうすればよいでしょうか?クエリが SQL の文字列構築 (再帰や動的レベル結合など) を必要とするほど複雑でない場合は、次の方法を使用してほぼすべての状況を解決できます。

    1. SQLServer はストアド プロシージャを使用してデータをまとめます。実際、これによりデータとパッケージ化も同期でき、両端を変更する必要はありません。スキーマが変更されると、更新全体を処理できます。

    2. クライアント (または Web サイト) はストアド プロシージャのみにアクセスします。
    3. クライアントがストアド プロシージャにのみアクセスできるように、実行権限のみを有効にします。

    ストアド プロシージャを使用すると、基本的にデータベースにパラメータ化が行われるため、間違いを犯すことはありません。また、SQL はストアド プロシージャ内でも作成でき、この SQL 構造をパラメータ化するのに特に便利であるため、文字列から SQL を構築する必要がある場合、この方法で問題が発生することはありません。

    射出の問題はすべて自動的に解決されます。

    返事
    0
  • PHPz

    PHPz2017-04-17 16:25:38

    Web サイトにインジェクションの脆弱性がある可能性があることを理解したので、インジェクションの原理を理解したはずです。そのため、これらの複雑で洞察力のあるフィルタリング方法については考えたくないと思います。インジェクション ステートメント、古いデータベース クエリ方法を使用する代わりに ORM を使用するのが最善の方法だと思います。 Java を使用してバックエンドを作成している場合、Hibernate は試してみる価値のあるフレームワークです。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 16:25:38

    1. エスケープ入力

    2. ORM フレームワークを使用する

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:25:38

    SQL をフィルタリングすると

    を防ぐことができます

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:25:38

    1. 取得したデータをデータベースアクセス用の SQL に直接使用しないようにしてください

    2. Struts などの便利なフレームワークがある場合は、

    3. をインターセプトするようにインターセプターをカスタマイズできます。
    4. ORM フレームワークを使用する

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 16:25:38

    ここで初心者が答えます: 簡単な SQL インジェクションメソッドを教えてください

    リーリー

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:25:38

    SQL インジェクションを防ぐ最も効果的な方法は、入力をエスケープすることです。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 16:25:38

    ユーザー入力データを信用しないでください。

    返事
    0
  • キャンセル返事