如何防止sql注入

半城伤御伤魂 提交于 2020-04-07 17:13:35


举例:
select admin from user where username='admin' or 'a'='a' and passwd=''or 'a'='a'
防止 SQL 注入, 使用预编译语句是预防 SQL 注入的最佳方式, 如
select admin from user where username=? And password=?
使用预编译的 SQL 语句语义不会发生改变, 在 SQL 语句中, 变量用问号? 表示。 像上面例子中, username 变量传递的'admin' or
'a'='a' 参数, 也只会当作 username 字符串来解释查询, 从根本上杜绝了 SQL 注入攻击的发生。
注意: 使用 mybaits 时 mapper 中#方式能够很大程度防止 sql 注入, $方式无法防止 sql 注入.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!