预编译防止sql注入

PreparedStatement为何能在必定程度上防止SQL注入? PreparedStatement会对SQL进行了预编译,在第一次执行SQL前数据库会进行分析、编译和优化,同时执行计划一样会被缓存起来,它容许数据库作参数化查询。在使用参数化查询的状况下,数据库不会将参数的内容视为SQL执行的一部分,而是做为一个字段的属性值来处理,这样就算参数中包含破环性语句(or ‘1=1’)也不会被执行。
相关文章
相关标签/搜索