如何对sql注入进行监听

数据库好像被sql注入了 添加语句 springboot项目 ,如何对sql注入进行监听

打开MySQL配置文件 my.cnf

log_output = FILE
general_log = 1
general_log_file = /path/日志的输出路径和文件名.log

指定日志输出到文件,并启用查询日志。

重启MySQL服务,以使更改生效。
这样可以记录所有调用的sql,你看下有没有注入的sql

想监听的话只能把日志的详细记录开开,然后去日志里边查每个sql记录
一般都是想办法防止sql注入

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Springboot启动加载SQL脚本,还有自动建表驼峰式命名的常用配置
  • 除此之外, 这篇博客: spring boot用注解写sql中的 直接看例子 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    1.查

    @Select("select * from users")
    List<Users> AllUser();
    

    2.改

    //注意要加script标签
    @Update("<script> " + "update users" +
                "<set>" + "<if test=\"name != null and name !=''\">name=#{name},</if>" +
                "<if test=\"nickname != null and nickname !=''\">nickname=#{nickname},</if>" +
                "<if test=\"url != null and url !=''\">url=#{url},</if>" +
                "<if test=\"sex != null and sex !=''\">sex=#{sex},</if>" +
                "<if test=\"age !=null and age !=''\">age=#{age},</if>" +
                "<if test=\"password !=null and password !=''\">password=#{password},</if>" +
                "</set>" + "where id=#{id}" +
                " </script> ")
    int updateTest(Users users);
    

    3.增

    @Insert("insert into users (id,name,telephone,nickname,salt,userstate,password,jid,udate)\n" +
                "VALUES(#{id},#{name},#{telephone},#{nickname},#{salt},'01',#{password},'03',now())")
    int in(Users users);
    

    4.删

    @Delete("delete from users where id = #{id}")
    int delete(String id);
    

    5.模糊查询(根据姓名和登记日期模糊查询所有数据)

     
        @Select({"select * from putong_rencai where concat(name,dengji_time) like '%' || 'search_name' || '%' "})
        public List<PuTongUser> selectMohu(@Param("search_name") String search_name);
    
    

    个人觉得这个比mapper.xml要方便一些但是一些复杂的表关系还是不要用了,例如多对多一对多关系这种的


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^