java - 如何防止sql注入
PHP中文网
PHP中文网 2017-04-17 16:23:38
0
15
1355
PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(15)
刘奇

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

いいねを押す +0
PHPzhong

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

いいねを押す +0
大家讲道理

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

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

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

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

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

いいねを押す +0
PHPzhong

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

いいねを押す +0
巴扎黑
  1. エスケープ入力

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

いいねを押す +0
伊谢尔伦

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

を防ぐことができます
いいねを押す +0
Peter_Zhu
  1. 取得したデータをデータベースアクセス用の SQL に直接使用しないようにしてください

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

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

いいねを押す +0
Ty80

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

リーリー
いいねを押す +0
伊谢尔伦

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

いいねを押す +0
洪涛

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート