防御sql注入的最佳方法:sql语句预编译和绑定变量。
sql语句预编译:PreparedStatement函数将代码中内定的sql语句进行编译并且分析,主要分析select ,from ,where ,and, or ,order by等字段,之后在前端接收的所有值全部当作字符串字面值参数,就算其中含有select ,from ,where ,and, or ,order by等命令,也当作普通字符串,不进行编译。
绑定变量:设定前端中可以传入的内容的类型,比如只能是整形,然后对其他内容进行编码。
ESAPI.encoder().encodeForSQL(codec, name)
该函数会将 name 中包含的一些特殊字符进行编码,这样 sql 引擎就不会将name中的字符串当成sql命令来进行语法分析了。
防御sql注入
最新推荐文章于 2023-06-29 11:52:41 发布