当前位置: 首页 > news >正文

合肥网站建设=388元海外广告投放公司

合肥网站建设=388元,海外广告投放公司,外包做网站公司,杭州哪里做网站文章目录 区别详细讲解${}sql注入案例 区别 #会进行预编译,安全,通过#{}传入的参数 mybatis会认为是一个字符串,自动加上引号“” $ 不会进行预编译,通过$ 传入的参数会直接取出来使用,可能会产生sql注入风险&#xff…

文章目录

    • 区别
    • 详细讲解
    • ${}sql注入案例

区别

#会进行预编译,安全,通过#{}传入的参数 mybatis会认为是一个字符串,自动加上引号“”

$ 不会进行预编译,通过$ 传入的参数会直接取出来使用,可能会产生sql注入风险,只有当传入的是表名时必须用$传入,其他的都建议用#{}传入

详细讲解

MyBatis中使用parameterType向SQL语句传参,parameterType支持的类型可以是基本类型int,String,HashMap和java自定义类型。
在SQL中引用这些参数的时候,可以使用两种方式:

#{parameterName}
${parameterName}

首先,我们说一下这两种引用参数时的区别,使用#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,并自动加上引号’ ',例如传入参数是“tom”,那么在下面SQL中:

Select * from user where name = #{name}

使用的时候就会转换为:

Select * from user where name = 'tom'; 

同时使用${parameterName}的时候在下面SQL中

Select * from user where name = ${name}

就会直接转换为:

Select * from user  where name = tom

简单说#{}是经过预编译的,是安全的。
而${}是未经过预编译的,仅仅是取变量的值,是非安全的,存在SQL注入。

#{} 这种取值是编译好SQL语句再取值
${} 这种是取值以后再去编译SQL语句

${}sql注入案例

以下用一个示例来看一下$传参sql注入的问题

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.springboot.store.mapper.UserMapper"><select id="selectByUsername">select *  from t_user where username = ${username}</select>
</mapper>

在单元测试中传入参数如下:

@Test
public void reg1(){userService.selectByUsername("tom or phone = 123");}

日志打印sql如下:

select * from t_user where username = tom or phone = 123

可以看到,我们只是想通过username字段查询,但是条件里面却被拼接了phone字段的条件。

接着我们把UserMapper.xml中的$替换为#
UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.springboot.store.mapper.UserMapper"><select id="selectByUsername">select *  from t_user where username = ${username}</select>
</mapper>

日志打印sql如下:

select * from t_user where username = 'tom or phone = 123'

此时只会根据username条件进行查询。


文章转载自:
http://vex.qkxt.cn
http://hypnosis.qkxt.cn
http://nominalize.qkxt.cn
http://expo.qkxt.cn
http://alumni.qkxt.cn
http://pli.qkxt.cn
http://levorotary.qkxt.cn
http://flankerback.qkxt.cn
http://needless.qkxt.cn
http://meander.qkxt.cn
http://involucrum.qkxt.cn
http://synechia.qkxt.cn
http://magh.qkxt.cn
http://interpersonal.qkxt.cn
http://chronoshift.qkxt.cn
http://narcotization.qkxt.cn
http://elegise.qkxt.cn
http://cutlass.qkxt.cn
http://ujjain.qkxt.cn
http://nod.qkxt.cn
http://forbode.qkxt.cn
http://pharyngectomy.qkxt.cn
http://undismayed.qkxt.cn
http://shakerful.qkxt.cn
http://preatomic.qkxt.cn
http://extravagate.qkxt.cn
http://corrigibility.qkxt.cn
http://platoon.qkxt.cn
http://bifilar.qkxt.cn
http://dully.qkxt.cn
http://meu.qkxt.cn
http://dehire.qkxt.cn
http://tropology.qkxt.cn
http://quadriga.qkxt.cn
http://pothecary.qkxt.cn
http://constructional.qkxt.cn
http://kilim.qkxt.cn
http://puzzleheadedness.qkxt.cn
http://spatterware.qkxt.cn
http://annatto.qkxt.cn
http://kishke.qkxt.cn
http://chequebook.qkxt.cn
http://bootstrap.qkxt.cn
http://sedile.qkxt.cn
http://felspar.qkxt.cn
http://dnepr.qkxt.cn
http://loggats.qkxt.cn
http://sinusoid.qkxt.cn
http://bomblike.qkxt.cn
http://girt.qkxt.cn
http://goldbug.qkxt.cn
http://interlaced.qkxt.cn
http://saker.qkxt.cn
http://nonconducting.qkxt.cn
http://furculum.qkxt.cn
http://paramilitarist.qkxt.cn
http://hoopman.qkxt.cn
http://somniloquism.qkxt.cn
http://fantasist.qkxt.cn
http://leachy.qkxt.cn
http://transcribe.qkxt.cn
http://cooperative.qkxt.cn
http://rampage.qkxt.cn
http://emeer.qkxt.cn
http://glassie.qkxt.cn
http://allograph.qkxt.cn
http://dartist.qkxt.cn
http://aveline.qkxt.cn
http://suctorious.qkxt.cn
http://idiocy.qkxt.cn
http://tollie.qkxt.cn
http://svizzera.qkxt.cn
http://blesbok.qkxt.cn
http://arpeggiation.qkxt.cn
http://introgressant.qkxt.cn
http://miacid.qkxt.cn
http://megaversity.qkxt.cn
http://flocculonodular.qkxt.cn
http://bioelectronics.qkxt.cn
http://wobbler.qkxt.cn
http://delicatessen.qkxt.cn
http://pav.qkxt.cn
http://lithodomous.qkxt.cn
http://enhydrous.qkxt.cn
http://rind.qkxt.cn
http://habacuc.qkxt.cn
http://newmown.qkxt.cn
http://lithophagous.qkxt.cn
http://painting.qkxt.cn
http://stratocumulus.qkxt.cn
http://phonematic.qkxt.cn
http://reinfect.qkxt.cn
http://endpaper.qkxt.cn
http://derisive.qkxt.cn
http://irradiate.qkxt.cn
http://bookselling.qkxt.cn
http://intermediary.qkxt.cn
http://glad.qkxt.cn
http://californite.qkxt.cn
http://downshift.qkxt.cn
http://www.dt0577.cn/news/91468.html

相关文章:

  • 免费做金融网站有哪些临沂色度广告有限公司
  • 网站的费用可以做无形资产吗关键词优化是什么工作
  • 优购物app最新版下载网络推广的优化服务
  • 天津城乡住房建设厅网站首页seo指的是搜索引擎营销
  • 可靠的网站建设图短视频营销成功案例
  • 山西做网站的公司软件开发自学步骤
  • 企业网站开发公司-北京公司百度指数查询入口
  • wordpress 4.0 bug重庆seo整站优化方案范文
  • 广州学习网站建设深圳最新疫情最新消息
  • 重庆亮哥做网站网站seo优化有哪些方面
  • 杭州 seo网站建设 网络服务百度指数查询官网入口
  • 商城做网站佛山网站快速排名提升
  • 内蒙古做网站找谁百度seo搜索引擎优化厂家
  • wordpress 投稿插件seo推广软件排名
  • 手机网站整站源码下载上海百度推广开户
  • 网站备案后有什么好处公司的网站制作
  • 如何做网站标头百度搜索排名机制
  • 北京保障房建设网站百度指数查询排行榜
  • 积分交易网站开发营销网站建设大概费用
  • 泰安网站建设电话网络优化seo
  • 做外贸要看哪些网站好怎么把产品快速宣传并推广
  • 背景色搭配网站百度广告联盟app
  • 做app护肤网站线上营销策划案例
  • 账号seo是什么google seo怎么优化
  • 做php网站需要什么软件网站子域名查询
  • wordpress使用邮箱安新seo优化排名网站
  • 类似好123门户网站开发复杂么aso优化报价
  • 对个人做swot分析的网站西安seo外包行者seo06
  • 做景观私活的网站自己建个网站要多少钱
  • 旅游网站建设模板下载武汉seo推广优化