防止Sql注入问题

2 篇文章 0 订阅
2 篇文章 0 订阅

一、SQL注入简介
        所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
        SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库

二、防止SQL注入攻击的方法

            1.(简单又有效的方法)PreparedStatement    JS中
            原理:sql注入只对sql语句的准备(编译)过程有破坏作用
                        而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,
                        而不再对sql语句进行解析,准备,因此也就避免了sql注入问题.

           2. MyBatis中防止sql注入
           # 将sql进行预编译"where id = ?",然后底层再使用PreparedStatement的set方法进行
           参数设置。
           $ 将传入的数据直接将参数拼接在sql中,比如 “where id = 123”。
           因此,#与$相比,#可以很大程度的防止sql注入,因为对sql做了预编译处理,
           所以在使用中一般使用#{}方式。

where id = #{id,jdbcType=INTEGER}
 where id = ${id,jdbcType=INTEGER}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值