3

私はJavaEEが初めてで、データベースをチェックして簡単なログインページを作成する方法を学ぼうとしています. コードサンプルは次のとおりです。

    ResultSet result=null;
        Statement s = (Statement) con.createStatement();
    result=s.executeQuery("select username from Table where ID="+id and " password="+password);

SQLインジェクションに対して脆弱であるはずですよね?次のように、ASP.NET でパラメーター化されたクエリを使用してこれを行います。

SqlConnection con = new SqlConnection();
SqlCommand cmd=new SqlCommand("select username from Table where ID=@id and password=@password",con);    
cmd.Parameters.AddWithValue("@id", id); 
cmd.Parameters.AddWithValue("@password", password);  

このようにJavaでパラメータ化されたクエリを使用する方法はありますか? そのクエリをパラメーター化された形式で使用して、SQL インジェクションを回避できる人はいますか?

ありがとう

4

3 に答える 3