0

セキュリティ問題の監査レポートのコードを修正しています--SQLインジェクション。私のコードでは、次のメソッドを使用してレコードを削除しています。このメソッドは基本クラスで定義され、モジュール内の他のすべてのdaoレベルクラスによって拡張されます。

public void delete(Class objectClass, long objectId)throws DAOException{
        try{
            getHibernateTemplate().delete(getObject(objectClass,objectId));
        }catch(Exception e){
            throw new DAOException(e);
        }
    }

そして、メソッド呼び出しgetHibernateTemplate()。delete(getObject(objectClass、objectId));

SQLインジェクションの傾向があると報告されています。のように報告

「サーブレット要求( "getObject(objectClass、objectId)")から受信したデータのユーザー定義の危険性への注入」。

問題を解決する方法。私は十分な宿題をし、HQLのプリペアドステートメントによってSQLインジェクションの問題をすでに修正しました。

前もって感謝します。

4

1 に答える 1

0

回答-このメソッド自体はバインディングパラメータを使用し、Log4japiで検証できます。バインディングパラメータのログを確認しましたが、この問題のSQLインジェクションは実行できません

于 2012-06-18T13:05:29.787 に答える