哪位大侠知道sql参数化查询可以被注入攻击吗?比如command.Parameters.Add("@card",SqlDbType.Int).Value
展开全部
参数化的形式不会被注入攻击。
以前一些不合格的程序员,会将值和 sql 语句直接用字符串加法连接成一个长字符串,这样,值当中的一些符号和前后 sql 语句就会组合成新的含义,也就是注入攻击。
例如,检查一个用户是否存在:
"select * from users where user='" + user + "'"
如果用户输入 user 为 1' or '1'='1,那么整个 sql 语句就是:
select * from users where user='1' or '1'='1'
这个和原作者的意思是不一样的。如果组合入一些删除或修改语句,或者操作关键表的语句,就达到了攻击的目的。
以前一些不合格的程序员,会将值和 sql 语句直接用字符串加法连接成一个长字符串,这样,值当中的一些符号和前后 sql 语句就会组合成新的含义,也就是注入攻击。
例如,检查一个用户是否存在:
"select * from users where user='" + user + "'"
如果用户输入 user 为 1' or '1'='1,那么整个 sql 语句就是:
select * from users where user='1' or '1'='1'
这个和原作者的意思是不一样的。如果组合入一些删除或修改语句,或者操作关键表的语句,就达到了攻击的目的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询