温馨提示×

为什么预编译能防止SQL注入

小新
1211
2021-02-19 13:44:16
栏目: 编程语言

为什么预编译能防止SQL注入

预编译能防止SQL注入是因为在运行程序第一次操作数据库之前,SQL语句已经被数据库分析、编译和优化,而且对应的执行计划也会将sql缓存下来,并允许数据库以参数化的形式进行查询,当运行时会动态地把参数传给PreprareStatement,即使参数里有敏感字符,如:“or '1=1'”,也会被数据库作为一个参数或者一个字段的属性值来处理,而不是作为一个SQL指令来运行。

0