SQL注入指的是什么


小编给大家分享一下SQL注入指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!看一下下面的案例场景,这是正常情况下的登陆场景:而当我们使用 用户名‘:– 的时候,密码随便输入也可以登陆成功↓这时候对比两条sql就能发现,其实用户通过在用户名写入的sql符号将内部sql提前结束,并且将后半句检索条件注释起来达到免密码登陆效果。sql注入就是本来我只有我能操作数据库,本来只是让你输入内容就走,而你却输入命令,从而在我不知情下操作数据会产生上门面的情况是因为上面的sql是使用动态拼接的方式,所以sql传入的方式可能改变sql的语义。动态拼接就是在java中java变量和sql语句混合使用:select * from user where userName=’”+userName+”’ a开发云主机域名nd password = ‘”+password”’所以要使用preparedStatement的参数化sql,通过先确定语义,再传入参数,就不会因为传入的参数改变sql的语义。(通过setInt,setString,setBoolean传入参数)
参数化特点:1.设置preparedStatement带占位符的sql语句statement执行sql语句的方式:
2.设置参数PerparedStatement继承于Statement,这里主要使用的使他参数化sql的特性。转:https://blog.csdn.net/qq_30258957/article/details/78145885加:1.都是用来执行SQL的 PreparedStatement extends Statement;2.Statement适合执行静态(无条件)SQL PreparedStatement适合执行动态(有条件)SQL;3.PreparedStatement可以避免注入攻击;以上是“SQL注入指的是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注开发云行业资讯频道!

相关推荐: 使用GROUP_CONCAT()函数意义

下文内容主要给大家带来使用GROUP_CONCAT()函数意义,所讲到的知识,与书籍略有不同,都是开发云专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广开发云主机域名大读者带来帮助。使用之前使用之后注意:GROUP_CONCAT()…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/19 11:44
下一篇 06/19 11:45

相关推荐