我想为您的参数化查询示例提供特定的,也许是规范的示例,是的,这足够了。
但是,人们有时会这样写代码
cmd.CommandText = string.Format("SELECt * FROM {0} WHERe col = @col;", tableName);cmd.Parameters.Add("@col", ...);
因为根本没有办法将表名本身作为参数传递,并且有时存在执行的愿望-
是否被误导了。似乎然后常常被忽略了,tableName(除非只能从不是从任何输入派生的一组静态/常量值中读取)确实允许SQL注入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)