预编译能避免SQL注入是由于在运行程序第一次操作数据库之前,SQL语句已被数据库分析、编译和优化,而且对应的履行计划也会将sql缓存下来,并允许数据库以参数化的情势进行查询,当运行时会动态地把参数传给PreprareStatement,即便参数里有敏感字符,如:“or ‘1=1’”,也会被数据库作为一个参数还是一个字段的属性值来处理,而不是作为一个SQL指令来运行。
本文来源:https://www.yuntue.com/post/59707.html | 云服务器网,转载请注明出处!
为啥预编译能避免SQL注入预编译能避免SQL注入是由于在运行程序第一次操作数据库之前,SQL语句已被数据库分析、编译和优化,而且对应的履行计划也会将sql缓存下来,并允许数据库以参数化的情势进行查询,当运行时会动态地把参数传给PreprareStatement