终于有一天,sql注入漏洞不是梦!

公司项目,我使用的sql拼接,不是?预编译的sql,就会产生sql注入漏洞!

由于我司最近在进行安全防护,因此我的垃圾项目就被检测出这种问题了,

没有错,sql注入高危漏洞,!

乍一听,之前学习的知识:如何防止sql注入,终于学有所用了!

 

什么是sql注入

 

如何防止sql注入

严格使用SQL语句预编译处理,禁止使用SQL拼接

 

我的sql拼接代码示例

由于查询需要多条件,因此我将查询条件全部都拼接了,而且是直接拼接的那种,这就是一种sql的拼接,没有使用预编译的sql!!这种就会使得入参被随意串改,会损坏数据库的,但是如果使用占位符的话,这个sql就是预编译的,就不会产生sql注入

因此会产生sql注入的高危漏洞

 

 

为什么预编译的sql可以防止sql注入

 

解决的方案自然是,用户可以随意拼接sql,但是他拼接的sql会不会被mysql执行,如果是预编译的sql即使进行了sql拼接,mysql也不会把拼接的部分作为命令执行,而是将其作为一个参数。但是如果不是预编译的sql,那么mysql自然会执行了。

 

 

好吧,看到这我就要去处理我所有的sql注入漏洞了,处理方法:mysql.escape(sql拼接的参数)或者使用预编译sql!

经过我一天的深思熟虑,我打算要把项目里所有的sql翻一个底朝天,都给他改过来,让他由sql拼接,彻底变成预编译sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值