把用户输入的一个字符串里面的 ' 换成了''拼接到sql语句里面,新版、现代、主流的关系型数据库还会有被此字符串注入的可能吗?

假设用的开发语言、数据库都是当前最新版。比如伪代码:

name=UserInput("name").replace("'","''")
sql="select * from table where name='"+name+"'"
db_exec(sql)

已经将用户输入的name字符串中的'替换成了'',最新版的oracle、mysql、sql server还有可能被用户输入的这个字符串注入的风险吗?

阅读 1.8k
1 个回答

只要最终的sql包含合理的sql,就会被执行。避免注入似乎不应该仅仅是数据库的问题,而是应该在应用层就避免。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题