假设用的开发语言、数据库都是当前最新版。比如伪代码:
name=UserInput("name").replace("'","''")
sql="select * from table where name='"+name+"'"
db_exec(sql)
已经将用户输入的name字符串中的'替换成了'',最新版的oracle、mysql、sql server还有可能被用户输入的这个字符串注入的风险吗?
假设用的开发语言、数据库都是当前最新版。比如伪代码:
name=UserInput("name").replace("'","''")
sql="select * from table where name='"+name+"'"
db_exec(sql)
已经将用户输入的name字符串中的'替换成了'',最新版的oracle、mysql、sql server还有可能被用户输入的这个字符串注入的风险吗?
5 回答3.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
只要最终的sql包含合理的sql,就会被执行。避免注入似乎不应该仅仅是数据库的问题,而是应该在应用层就避免。