検索

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

java - 如何防止sql注入

PHP中文网PHP中文网2803日前1329

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

  • ringa_lee

    ringa_lee2017-04-17 16:25:38

    通常はパラメーター化されたプロシージャまたはストアド プロシージャは問題ありません

    返事
    0
  • 黄舟

    黄舟2017-04-17 16:25:38

    注入可能なsql:
    $id=$_REQUEST['id'];
    $name=$_REQUEST['name'];
    select * from members where id=$id;
    select * from members where id='".$id."'";
    select * from members where name='".$name."'";
    不可注入:
    select * from members where id='".intval($id)."'";
    select * from members where name=".sql_escape($name);

    返事
    0
  • PHP中文网

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

    ユーザー入力をフィルタリングし、タイプとサイズを制限し、SQL ステートメントをパラメータ化します。さらに、Web サービスのパラメータの脆弱性も考慮する必要があります。

    返事
    0
  • PHP中文网

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

    JavaEE の PreparedStatement インターフェイスを使用すると、SQL インジェクションを簡単に防ぐことができ、さまざまなデータベース メーカーのドライバーがこれを適切に実装しています。 Druid の接続プールは、SQL をフィルタリングしてインジェクションを防ぐのにも役立ちます。 Jenkins は、findBugs などの一部のプラグインと連携して、考えられる SQL インジェクション動作を見つけることができます。

    返事
    0
  • PHPz

    PHPz2017-04-17 16:25:38

    1/フロントエンド入力は jsoup を使用してフィルタリングされます。 jsoup はさまざまなフィルタリング ルールをカスタマイズすることもできます。
    2/ibatis などの ORM フレームワークを使用して、SQL 実行のパラメーターをバインドします。

    返事
    0
  • キャンセル返事