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注入。举报喜欢

“将从 servlet 请求(“getObject(objectClass,objectId)”)接收到的数据注入到用户定义的危险中。

如何解决问题。我已经做了足够的功课,并且已经通过 HQL 中的准备好的语句修复了一些更多的 SQL 注入问题。

提前致谢。

4

1 回答 1

0

ANSWER -- 此方法本身使用绑定参数,可以通过 Log4j api 进行验证。我已经验证了绑定参数的日志,并且这个问题的 SQL 注入是不可行的

于 2012-06-18T13:05:29.787 回答