joker901 2020-09-16 17:07 采纳率: 0%
浏览 51

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条回答 默认 最新

  • threenewbee 2020-09-16 17:27
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 R语言 拟时序分析降维图如何减少分支
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏