sql注入,预处理前 解析sql

公司05年的老代码,安全漏洞扫描没有通过, 很多 sql 都是拼接好的, 直接执行, 没有预处理。

/**
* 执行更新或删除操作,不返回结果
*/
public static void executeUpdate(String sql) throws SQLException {

    logger.info("sql:" + sql);

    Connection conn = getConnection();
    PreparedStatement st = conn.prepareStatement(sql);

    st.executeUpdate();

    close(conn, st, null);

}

主要是调用的地方太多了。 如果都在调用的地方改的话, 工作量太大了。
如何在这里添加解析sql,把 sql 里的 变量都解出来,换成? , 然后 放到预处理参数里。

1个回答

可以考虑使用插入触发器,在数据库层面上再过滤一次,而插入触发器,可以遍历表结构,用代码生成器生成。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问