当前位置:首页 > MySQL教程 > 正文内容

预编译为什么能够防备sql注入【MySQL教程】,预编译,sql注入

搜教程4年前 (2019-12-01)MySQL教程166
预编译能够防备sql注入的缘由:举行预编译以后,sql语句已被数据库剖析,编译和优化了,而且许可数据库以参数化的情势举行查询,所以纵然有敏感字符数据库也会当作属性值来处置惩罚而不是sql指令了

人人都晓得,java中JDBC中,有个预处置惩罚功用,这个功用一大上风就是能进步实行速率尤其是屡次操纵数据库的状况,再一个上风就是防备SQL注入,严厉的说,应该是防备绝大多数的SQL注入。

用法就是如下边所示:

String sql="update cz_zj_directpayment dp"+
 "set dp.projectid = ? where dp.payid= ?";
try {
PreparedStatement pset_f = conn.prepareStatement(sql);
pset_f.setString(1,inds[j]);
pset_f.setString(2,id);
pset_f.executeUpdate(sql_update);
}catch(Exception e){
//e.printStackTrace();
logger.error(e.message());
}

那为何它如许处置惩罚就可以防备SQL注入进步安全性呢?实在是因为SQL语句在顺序运行前已举行了预编译,在顺序运行时第一次操纵数据库之前,SQL语句已被数据库剖析,编译和优化,对应的实行计划也会缓存下来并许可数据库以参数化的情势举行查询,当运行时动态地把参数传给PreprareStatement时,纵然参数里有敏感字符如 or '1=1'也数据库会作为一个参数一个字段的属性值来处置惩罚而不会作为一个SQL指令,云云,就起到了SQL注入的作用了!

以上就是预编译为何能够防备sql注入的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/16065.html

分享给朋友:

“预编译为什么能够防备sql注入【MySQL教程】,预编译,sql注入” 的相关文章

mysql怎样自动猎取时候日期的实例详解【MySQL教程】,mysql,时间,获取

mysql怎样自动猎取时候日期的实例详解【MySQL教程】,mysql,时间,获取

完成体式格局: 1、将字段范例设为 TIMESTAMP 2、将默许值设为 CURRENT_TIMESTAMP 举例运用: 1、MySQL 剧本完成用例 --增加CreateTime 设置默许时候 CURRENT_TIMESTAMP ALTER TABLE `table_name`...

GreenPlum中一样平常SQL剧本【MySQL教程】,GreenPlum,脚本,日常

--1.指定月份统共若干天 SELECT EXTRACT(DAY FROM CAST('2017-08-01' AS DATE) + INTERVAL '1 month' - INTERVAL '1 day') SELECT EXTRACT(DAY FROM CAST(TO_CHAR(N...

MySQL适配器之PyMySQL的细致引见【MySQL教程】,PyMySQL,MySQL,适配器

这篇文章主要为人人细致引见了MySQL适配器PyMySQL的相干材料,具有肯定的参考价值,感兴趣的小伙伴们能够参考一下 本文我们为人人引见 Python3 运用 PyMySQL 衔接数据库,并完成简朴的增编削查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本顶用...

CREATE DATABASE语句诠释【MySQL教程】,DATABASE,CREATE,解释

本文为mariadb官方手册:CREATE DATABASE的译文。 语法 CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_spec...

mysql5.1 command line client 登录时涌现闪退怎样处理【MySQL教程】,mysql5.1,command,client

由于长时间没有运用mysql command line client。今天在运用时,翻开界面,输入暗码后就涌现了闪退,同时workbench平台也显现不能衔接数据库。起首我照着百度试了一下,觉察在“计算机“-->"治理"(右键)-->“效劳”下,没有找到mysql有关的效劳。 处理办法以...

MySQL慢查询日记相干的设置和运用【MySQL教程】,MySQL,配置,相关

MySQL慢查询日记相干的设置和运用【MySQL教程】,MySQL,配置,相关

MySQL慢查询日记供应了凌驾指定时刻阈值的查询信息,为机能优化供应了重要的参考根据,是一个异常有用的功用,MySQL慢查询日记的开启和设置异常简朴,能够指定纪录的文件(或许表),凌驾的时刻阈值等就能够纪录到慢sql了,真话讲,相比较sqlserver的trace或许扩大事宜(虽然此两者的作用并不...