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

发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。