数据库
首页 > 数据库> > 导致sql注入的根本原因

导致sql注入的根本原因

作者:互联网

导致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注入

标签:语句,sql,用户,编译,SQL,根本原因,注入
来源: https://www.cnblogs.com/codeanime/p/15307193.html