导致sql注入的根本原因

时间:2021-09-21 21:24:03   收藏:0   阅读:25

导致sql注入的根本原因

1.sql注入的定义

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息.

2.导致sql注入的根本原因

用户输入的信息中含有sql语句的关键字,并且这些关键字参与sql语句的编译过程。
导致sql语句的原意被扭曲,进而达到sql注入.

解决SQL注入问题:

只要用户提供的信息不参与sql语句的编译过程,问题就解决了
即用户提供的信息中含有sql语句的关键字,但是没有参与编译,不起作用
要想用户信息不参与SQL语句的编译,那么必须使用java.sql.PreparedStatement
PreparedStatemeent接口继承 java.sql.Statement
PreparedStatement是属于预编译的数据库操作对象
PreparedStatement的原理是:预先对SQL语句的框架进行编译,再给SQL语句传“值”

3.防止SQL注入

原文:https://www.cnblogs.com/codeanime/p/15307193.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!