热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

公司项目,我使用的sql拼接,不是?预编译的sql,就会产生sql注入漏洞!由于我司最近在进行安全防护&#x

公司项目,我使用的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


推荐阅读
author-avatar
只都是孩子Whitney
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有